Mysql5.6.36脚本编译安装及初始化教程
概述
本文为centos7.3自动化编译安装mysql5.3.6的脚本及后续初始化操作,话不多少,直接上脚本。
安装脚本install.py如下:
#coding=utf-8
#!/usr/bin/python
importos,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('yuminstallgccgcc-c++gcc-g77autoconfautomakezlib*fiex*libxml*ncurses-devellibmcrypt*libtool-ltdl-devel*makecmakeperl-y')
#安装函数
definstall_mysql():
ifos.system('groupaddmysql')==0:
print'groupmysqladdsuccess!'
else:
exit('groupmysqladdfailed!')
ifos.system('useradd-r-gmysql-s/bin/falsemysql')==0:
print'usermysqladdsuccess!'
else:
exit('usermysqladdfailed!')
ifnotos.path.exists(install_dir):
os.system('mkdir-p%s'%install_dir)
ifnotos.path.exists(data_dir):
os.system('mkdir-p%s'%data_dir)
ifnotos.path.exists(package_dir):
os.system('mkdir-p%s'%package_dir)
ifnotos.path.exists(log_dir):
os.system('mkdir-p%s'%log_dir)
ifos.system('tarzxvfmysql-5.6.36.tar.gz')==0:
print'uncompressvsuccess!'
else:
exit('uncompressmysql-5.6.36.tar.gzfailed!')
os.chdir('mysql-5.6.36')
ifos.system(cmake)==0:
print'编译成功'
else:
exit('编译mysql失败')
ifos.system('make&&makeinstall')==0:
print'编译安装mysql成功'
else:
exit('编译安装mysql失败')
ifos.system('chown-Rmysql:mysql%s'%install_dir)==0:
print'安装目录权限配置成功'
else:
exit()
os.system('chown-Rmysql:mysql%s'%data_dir)
os.system('cd%s&&touchmysql-error.log'%log_dir)
os.system('chown-Rmysql:mysql%s'%log_dir)
os.chdir(install_dir)
ifos.system('./scripts/mysql_install_db--user=mysql--datadir=%s'%data_dir)==0:
print'mysql初始化成功'
else:
exit('mysql初始化失败')
os.system('cpsupport-files/mysql.server/etc/init.d/mysqld')
os.system('mv/etc/my.cnf/etc/my.cnf.bak')
os.chdir(current_dir)
os.system('cpmy.cnf/etc/my.cnf')
os.system('servicemysqldstart')
os.system('chkconfigmysqldon')
install_mysql()
ifos.path.exists('/etc/profile'):
os.system('cp/etc/profile/etc/profile.bak')
ifos.system('echo"PATH=%s/bin:%s/lib:$PATH">>/etc/profile'%(install_dir,install_dir))==0:
print'修改/etc/profile成功'
else:
exit()
ifos.system('echo"exportPATH">>/etc/profile')==0:
print'修改/etc/profile文件成功'
else:
exit()
配置文件my.cnf
[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 ##########errorlog########## log_error=/data/mysql/logs/mysql-error.log ##########slowlog########## 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.pymy.cnf和mysql安装包放一个文件夹
mysql安装包下载地址:链接:https://pan.baidu.com/s/1pKHbFlh密码:tx9b
初始化
由于默认情况下编译安装的mysql5.6.36没有密码,命令行直接输入mysql进行登陆,执行以下sql语句
--初始化数据
usemysql;
updateusersetpassword=PASSWORD("Abcd123")whereuser='root';
grantallprivilegeson*.*toweihu@"%"identifiedby"Abcd123";
deletefrommysql.userwhereuser='';
FLUSHPRIVILEGES;
--创建demo数据库
CREATEDATABASE`demo`DEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
showdatabases;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。