各位用户为了找寻关于Mysql5.6.36脚本编译安装及初始化教程的资料费劲了很多周折。这里教程网为您整理了关于Mysql5.6.36脚本编译安装及初始化教程的相关资料,仅供查阅,以下为您介绍关于Mysql5.6.36脚本编译安装及初始化教程的详细内容
概述
本文为centos7.3自动化编译安装mysql5.3.6的脚本及后续初始化操作,话不多少,直接上脚本。
安装脚本install.py如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81#coding=utf-8
#!/usr/bin/python
import
os,commands
#定义变量
install_dir =
'/data/mysql'
data_dir =
'/data/mysql/data'
package_dir =
'/data/mysql'
log_dir =
'/data/mysql/logs'
current_dir = os.getcwd()
cmake =
'cmake -DCMAKE_INSTALL_PREFIX=%s -DMYSQL_UNIX_ADDR=%s/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=%s -DMYSQL_TCP_PORT=3306'
% (install_dir, install_dir, data_dir)
#安装依赖包
os.system(
'yum install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake perl -y'
)
#安装函数
def install_mysql():
if
os.system(
'groupadd mysql'
) == 0:
print
'group mysql add success!'
else
:
exit
(
'group mysql add failed!'
)
if
os.system(
'useradd -r -g mysql -s /bin/false mysql'
) == 0:
print
'user mysql add success!'
else
:
exit
(
'user mysql add failed!'
)
if
not os.path.exists(install_dir):
os.system(
'mkdir -p %s'
% install_dir)
if
not os.path.exists(data_dir):
os.system(
'mkdir -p %s'
% data_dir)
if
not os.path.exists(package_dir):
os.system(
'mkdir -p %s'
% package_dir)
if
not os.path.exists(log_dir):
os.system(
'mkdir -p %s'
% log_dir)
if
os.system(
'tar zxvf mysql-5.6.36.tar.gz'
) == 0:
print
'uncompress v success!'
else
:
exit
(
'uncompress mysql-5.6.36.tar.gz failed!'
)
os.chdir(
'mysql-5.6.36'
)
if
os.system(cmake) == 0:
print
'编译成功'
else
:
exit
(
'编译mysql失败'
)
if
os.system(
'make && make install'
) == 0:
print
'编译安装mysql成功'
else
:
exit
(
'编译安装mysql失败'
)
if
os.system(
'chown -R mysql:mysql %s'
% install_dir) == 0:
print
'安装目录权限配置成功'
else
:
exit
()
os.system(
'chown -R mysql:mysql %s'
% data_dir)
os.system(
'cd %s && touch mysql-error.log'
% log_dir)
os.system(
'chown -R mysql:mysql %s'
% log_dir)
os.chdir(install_dir)
if
os.system(
'./scripts/mysql_install_db --user=mysql --datadir=%s'
% data_dir) == 0:
print
'mysql初始化成功'
else
:
exit
(
'mysql初始化失败'
)
os.system(
'cp support-files/mysql.server /etc/init.d/mysqld'
)
os.system(
'mv /etc/my.cnf /etc/my.cnf.bak'
)
os.chdir(current_dir)
os.system(
'cp my.cnf /etc/my.cnf'
)
os.system(
'service mysqld start'
)
os.system(
'chkconfig mysqld on'
)
install_mysql()
if
os.path.exists(
'/etc/profile'
):
os.system(
'cp /etc/profile /etc/profile.bak'
)
if
os.system(
'echo "PATH=%s/bin:%s/lib:$PATH" >> /etc/profile'
% (install_dir, install_dir)) == 0:
print
'修改/etc/profile成功'
else
:
exit
()
if
os.system(
'echo "export PATH" >> /etc/profile'
) == 0:
print
'修改/etc/profile文件成功'
else
:
exit
()
配置文件my.cnf
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56[mysqld]
basedir =
/data/mysql
datadir =
/data/mysql/data
tmpdir =
/data/mysql
socket =
/data/mysql/mysql
.sock
skip-external-locking
skip-name-resolve
lower_case_table_names=1
auto_increment_offset = 1
auto_increment_increment = 2
#server-id
########## binlog ##########
log_bin =
/data/mysql/logs/mysql-bin
binlog_format = row
binlog_cache_size = 2M
expire-logs-days = 7
########## error log ##########
log_error =
/data/mysql/logs/mysql-error
.log
########## slow log ##########
slow_query_log = 1
slow_query_log_file =
/data/mysql/logs/mysql-slow
.log
long_query_time = 5
########## per_thread_buffers ##########
max_connections = 1024
max_connect_errors = 1000
key_buffer_size = 64M
max_allowed_packet = 128M
table_open_cache = 6144
table_definition_cache = 4096
sort_buffer_size = 512K
read_buffer_size = 512K
join_buffer_size = 512K
tmp_table_size = 64M
max_heap_table_size = 64M
thread_cache_size = 64
thread_concurrency = 32
bulk_insert_buffer_size = 64M
########innodb########
innodb_buffer_pool_size = 45G
innodb_log_file_size = 500M
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = 1
innodb_file_io_threads = 4
innodb_flush_method = O_DIRECT
innodb_thread_concurrency = 0
innodb_additional_mem_pool_size = 16M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open_files_limit = 65535
使用方法:
1.操作系统需要配置yum源 2.操作系统版本:centos7.3 3.将install.py my.cnf 和mysql安装包放一个文件夹
mysql安装包下载地址:链接: https://pan.baidu.com/s/1pKHbFlh 密码: tx9b
初始化
由于默认情况下编译安装的mysql5.6.36没有密码,命令行直接输入mysql进行登陆,执行以下sql语句
? 1 2 3 4 5 6 7 8 9-- 初始化数据
use mysql;
update user
set
password=PASSWORD(
"Abcd123"
) where user=
'root'
;
grant all privileges on *.* to weihu@
"%"
identified by
"Abcd123"
;
delete from mysql.user where user =
''
;
FLUSH PRIVILEGES;
-- 创建demo数据库
CREATE DATABASE `demo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
show databases;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
原文链接:http://www.cnblogs.com/hang0716/p/8028214.html