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;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。