Centos7.1 for MySQL5.6.30源码安装及多实例配置
预备工作: OS:Centos7.1 DATABASE:mysql-5.6.30.tar.gz 1.创建mysql帐号 创建用户和用户组 [root@localhost~]#groupaddmysql [root@localhost~]#useradd-gmysqlmysql [root@localhost~]#passwdmysql 2.验证安装包 解压mysql源码包mysql-5.6.30.tar.gz [root@localhost~]#mkdir-p/opt/mysql-5.6/ [root@localhost~]#tarzxvfmysql-5.6.30.tar.gz-C/opt/mysql-5.6 [root@localhost~]#cd/opt/mysql-5.6/ 验证之前是否安装过mysql,若存在mysql相关包,则rpm -e逐个删除(建议先删devel包,再mysql包,最后强制删除libs包) [root@localhostmysql-5.6]#rpm-qa|grepmysql 再验证以下编译必备安装包是否安装: gcc*,gcc-c++*,cmake,autoconf*,automake*,zlib*,ncurses-devel*,libtool*,bison 当缺少相关安装包时,需要通过rpm -ivh ***.rpm或yum install RPM_NAME安装 3.源码编译过程 [root@localhostmysql-5.6]#cmake. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6#安装目录 -DWITH_INNOBASE_STORAGE_ENGINE=1#支持InnoDB引擎 -DWITH-READLINE=1#支持快捷键 -DEXTRA_CHARSETS=all#安装所有字符集 -DENABLED_LOCAL_INFILE=1#从本地导入数据 -DWITH_EMBEDDED_SERVER=1#编译EmbeddedMysql库 -DWITH_SSL=bundled# -DDEFAULT_CHARSET=utf8#默认字符集 [root@localhostmysql-5.6]#make [root@localhostmysql-5.6]#makeinstall [root@localhostmysql-5.6]#ln-s/usr/local/mysql-5.6/usr/local/mysql 4.创建mysql数据目录及/etc/my.cnf 数据存放目录,默认为basedir下的data目录(实际场景下,建议mount专用盘作为data): [root@localhostmysql-5.6]#cd/usr/local/mysql [root@localhostmysql]#mkdir-p/opt/mysql/data1 [root@localhostmysql]#chown-Rmysql.mysql/opt/mysql [root@localhostmysql]#vi/etc/my.cnf [client] port=3306 socket=/opt/mysql/data1/mysqld.sock [mysqld_safe] user=mysql nice=0 [mysqld] port=3306 pid-file=/opt/mysql/data1/mysqld.pid socket=/opt/mysql/data1/mysqld.sock basedir=/usr/local/mysql datadir=/opt/mysql/data1/ tmpdir=/opt/mysql/data1/ log-error=/opt/mysql/data1/mysqld.log slow_query_log=1 slow_query_log_file=/opt/mysql/data1/mysql-slow.log log_bin=/opt/mysql/data1/mysql-bin.log [mysqldump] quick quote-names max_allowed_packet=16M default-character-set=utf8 [mysql] default-character-set=utf8 4.初始化mysql 建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错 [root@localhostmysql]#./scripts/mysql_install_db--defaults-file=/etc/my.cnf [root@localhostmysql]#./bin/mysql_secure_installation 5.将mysql服务加入init.d管理 建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错 [root@localhostmysql]#cp/bin/mysql.service/etc/init.d/mysql [root@localhostmysql]#chkconfig--addmysql [root@localhostmysql]#chkconfigmysqlon [root@localhostmysql]#chkconfig--list 同时更改环境变量 vi ~/.bash_profile,在PATH变量后添加:/usr/local/mysql/bin 6.启动mysql服务的几种方式 mysqld与mysqld_safe的区别在于mysqld_safe宕机后仍能重启 [root@localhostmysql]#servicemysqlstart [root@localhostmysql]#mysqld_safe--defaults-file=/etc/my.cnf& [root@localhostmysql]#mysqld--defaults-file=/etc/my.cnf& Mysql多实例安装 上述1-6主要安装了使用3306端口的实例,我们同样可以生成其他端口的实例。这里我们通过以下步骤安装3310端口的MySQL实例。 1.创建使用3310端口的mysql数据目录及/etc/my3310.cnf [root@localhostmysql-5.6]#cd/usr/local/mysql [root@localhostmysql]#mkdir-p/opt/mysql/data2 [root@localhostmysql]#vi/etc/my3010.cnf [client] port=3310 socket=/opt/mysql/data2/mysqld.sock [mysqld_safe] user=mysql nice=0 [mysqld] port=3310 pid-file=/opt/mysql/data2/mysqld.pid socket=/opt/mysql/data2/mysqld.sock basedir=/usr/local/mysql datadir=/opt/mysql/data2/ tmpdir=/opt/mysql/data2/ log-error=/opt/mysql/data2/mysqld.log slow_query_log=1 slow_query_log_file=/opt/mysql/data2/mysql-slow.log log_bin=/opt/mysql/data2/mysql-bin.log [mysqldump] quick quote-names max_allowed_packet=16M default-character-set=utf8 [mysql] default-character-set=utf8 2.初始化使用3310端口的mysql 建议进入/usr/local/mysql目录下,通过以下方式进行初始化,否则可能会报错 [root@localhostmysql]#./scripts/mysql_install_db--defaults-file=/etc/my3310.cnf [root@localhostmysql]#./bin/mysql_secure_installation--defaults-file=/etc/my3310.cnf 3.编辑多实例mysql的配置文件 [root@localhostmysql]#vi/etc/mysql_multi.cnf [mysqld_multi] mysqld=/usr/local/mysql/bin/mysqld_safe mysqladmin=/usr/local/mysql/bin/mysqladmin [mysqld3306] port=3306 pid-file=/opt/mysql/data1/mysqld.pid socket=/opt/mysql/data1/mysqld.sock basedir=/usr/local/mysql datadir=/opt/mysql/data1/ tmpdir=/opt/mysql/data1/ log-error=/opt/mysql/data1/mysqld.log slow_query_log=1 slow_query_log_file=/opt/mysql/data1/mysql-slow.log log_bin=/opt/mysql/data1/mysql-bin.log [mysqld3310] [client] port=3310 socket=/opt/mysql/data2/mysqld.sock [mysqld_safe] user=mysql nice=0 [mysqld] port=3310 pid-file=/opt/mysql/data2/mysqld.pid socket=/opt/mysql/data2/mysqld.sock basedir=/usr/local/mysql datadir=/opt/mysql/data2/ tmpdir=/opt/mysql/data2/ log-error=/opt/mysql/data2/mysqld.log slow_query_log=1 slow_query_log_file=/opt/mysql/data2/mysql-slow.log log_bin=/opt/mysql/data2/mysql-bin.log [mysqldump] quick quote-names max_allowed_packet=16M default-character-set=utf8 [mysql] default-character-set=utf8 4.启动mysql多实例 [root@localhostmysql]#mysqld_multi--defaults-file=/etc/mysql_multi.cnfstart3306 [root@localhostmysql]#mysqld_multi--defaults-file=/etc/mysql_multi.cnfstart3310 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |