centos编译安装mysql 5.6及安装多个mysql实例详解
--1.为mysql新建组和用户
#useradd-M-s/sbin/nologinmysql
--2.安装需要的库,编译器
#yuminstallncurses-developenssl-develcmake-y
--3.解压
#tarzxvfmysql-5.6.35.tar.gz #cdmysql-5.6.35
--4.编译安装
#cmake\ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\ -DMYSQL_DATADIR=/usr/local/mysql/data\ -DSYSCONFDIR=/etc\ -DWITH_MYISAM_STORAGE_ENGINE=1\ -DWITH_INNOBASE_STORAGE_ENGINE=1\ -DWITH_MEMORY_STORAGE_ENGINE=1\ -DWITH_READLINE=1\ -DMYSQL_TCP_PORT=3306\ -DENABLED_LOCAL_INFILE=1\ -DWITH_PARTITION_STORAGE_ENGINE=1\ -DEXTRA_CHARSETS=all\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci\ -DMYSQL_USER=mysql\ -DWITH_DEBUG=0\ -DWITH_SSL=system #make #makeinstall
--5.拷贝模版,作为配置文件
#cpsupport-files/my-default.cnf/etc/my.cnf
--6.设置mysql权限
#chown-Rmysql.mysql/usr/local/mysql/
--7.初始化mysql数据库
#/usr/local/mysql/scripts/mysql_install_db--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data--user=mysql #chown-Rroot/usr/local/mysql/ #chown-Rmysql/usr/local/mysql/data/
--8.设置mysql开机自启动
#cpsupport-files/mysql.server/etc/init.d/mysqld #chmod+x/etc/init.d/mysqld #chkconfigmysqldon
--9.测试并运行mysql
#servicemysqldstart
--10.修改mysql管理员密码
#/usr/local/mysql/bin/mysqladmin-urootpassword'要设置的密码'
--11.使用用户登录mysql
#/usr/local/mysql/bin/mysql-uroot-p
--12.加入环境变量
#echo'PATH=/usr/local/mysql/bin/:$PATH'>>/etc/profile #source/etc/profile
CentOS6.5最小化编译安装mysql5.5.35配置多实例
1、关闭防火墙
1234567[root@mysql~]#serviceiptablesstop iptables:SettingchainstopolicyACCEPT:filter[OK] iptables:Flushingfirewallrules:[OK] iptables:Unloadingmodules:[OK] [root@mysql~]#chkconfigiptablesoff [root@mysql~]#chkconfigiptables--list iptables0:off1:off2:off3:off4:off5:off6:off
2、关闭selinux
12[root@mysql~]#setenforce0 [root@mysql~]#vim/etc/sysconfig/selinux
修改下面这一行;
SELINUX=disabled 12[root@mysql~]#getenforce Permissive
3、安装mysql依赖包及编译工具;
1234[root@mysql~]#yuminstalllibaio-devel-y [root@mysql~]#yuminstall-yncurses-devel [root@mysql~]#yuminstall-ygccgcc-c++ [root@mysql~]#yuminstall-ycmake
4、安装前准备;
4.1、安装路径:
1[root@mysql~]#mkdir/usr/local/mysql
4.2、数据库路径:
1[root@mysql~]#mkdir/data/mysql-p
4.3、创建用户和用户组
12[root@mysql~]#groupaddmysql [root@mysql~]#useradd-r-gmysql-s/bin/falsemysql
4.4、赋予数据存放目录权限
1[root@mysql~]#chownmysql:mysql-R/data/mysql
5、编译安装mysql5.5.35
1234567[root@mysql~]#yuminstall-ylrzsz root@mysql~]#mkdir/package [root@mysql~]#cd/package/ [root@mysqlpackage]#tarxfmysql-5.5.32.tar.gz [root@mysqlpackage]#cdmysql-5.5.32 [root@mysqlmysql-5.5.32]#cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock-DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/data/mysql/-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306 [root@mysqlmysql-5.5.32]#make&&makeinstall
6、创建多实例数据库文件存放位置;
12345678[root@mysql~]#mkdir-p/data/{3306,3307}/data [root@mysql~]#tree/data /data |--3306 |`--data `--3307 `--data 4directories,0files
7、修改配置文件(my.cnf)如下行,分别放入3306、3307目录当中;
123456789[root@mysql3306]#vimmy.cnf [client] port=3306 socket=/data/3306/mysql.sock [mysqld] port=3306 socket=/data/3306/mysql.sock datadir=/data/3306 server-id=3306
8、初始化数据库;
注意:初始化数据库时需要指定不同的数据目录
123[root@mysqlmysql-5.5.32]#cd/usr/local/mysql/ [root@mysqlmysql]#scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/data/3306 [root@mysqlmysql]#scripts/mysql_install_db--user=mysql--basedir=/usr/local/mysql--datadir=/data/3307
9、启动多实例,启动脚本可以加入到开机自启动文件中。
12[root@mysqlmysql]#/usr/local/mysql/bin/mysqld_safe--defaults-file=/data/3306/my.cnf2>&1>/dev/null& [root@mysqlmysql]#/usr/local/mysql/bin/mysqld_safe--defaults-file=/data/3307/my.cnf2>&1>/dev/null&
9.1、查看端口;
12345678[root@mysqlmysql]#netstat-tunlp ActiveInternetconnections(onlyservers) ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname tcp000.0.0.0:33070.0.0.0:*LISTEN11621/mysqld tcp000.0.0.0:220.0.0.0:*LISTEN1266/sshd tcp000.0.0.0:33060.0.0.0:*LISTEN11338/mysqld tcp00:::22:::*LISTEN1266/sshd udp000.0.0.0:680.0.0.0:*969/dhclient
10、登录多实例数据库
12[root@mysqlmysql]#/usr/local/mysql/bin/mysql-uroot-p-P3306-S/data/3306/mysql.sock [root@mysqlmysql]#/usr/local/mysql/bin/mysql-uroot-p-P3307-S/data/3307/mysql.sock
11、关闭mysql多实例方式
12[root@mysqlmysql]#/usr/local/mysql/bin/mysqladmin-uroot-p-P3306-S/data/3306/mysql.sockshutdown [root@mysqlmysql]#/usr/local/mysql/bin/mysqladmin-uroot-p-P3307-S/data/3307/mysql.sockshutdown cat/etc/my.cnf [mysqld1] datadir=/data/mysql socket=/tmp/mysql.sock user=mysql symbolic-links=0 skip-name-resolve server-id=1221 max_connections=2000 binlog-ignore-db=mysql binlog-ignore-db=test binlog-ignore-db=information_schema binlog-ignore-db=performance_schema innodb_buffer_pool_size=2G innodb_additional_mem_pool=16M innodb_log_file_size=256M innodb_flush_log_at_trx_commit=2 character_set_server=utf8 collation_server=utf8_general_ci replicate_ignore_db=mysql slave-skip-errors=all relay_log=/data/mysql/ [mysqld2] port=3307 server-id=1222 log-error=/tmp/mysqld2.log datadir=/data/mysql_live socket=/tmp/mysql2.sock user=mysql symbolic-links=0 skip-name-resolve character_set_server=utf8 collation_server=utf8_general_ci max-connections=500 default-storage-engine=INNODB innodb_file_per_table log-bin=mysql-bin relay-log-info-repository=TABLE master-info-repository=TABLE expire_logs_days=10 binlog_format=ROW transaction-isolation=READ-COMMITTED binlog-ignore-db=mysql binlog-ignore-db=test binlog-ignore-db=information_schema binlog-ignore-db=performance_schema slow_query_log=TRUE slow_query_log_file=/tmp/mysqld_slow_query2.log long_query_time=3 replicate_ignore_db=mysql slave-skip-errors=all [mysqld3] server-id=1223 port=3308 log-error=/tmp/mysqld3.log datadir=/data/mysql socket=/tmp/mysql3.sock user=mysql symbolic-links=0 skip-name-resolve character_set_server=utf8 collation_server=utf8_general_ci max-connections=500 default-storage-engine=INNODB innodb_file_per_table log-bin=mysql-bin relay-log-info-repository=TABLE master-info-repository=TABLE expire_logs_days=10 binlog_format=ROW transaction-isolation=READ-COMMITTED binlog-ignore-db=mysql binlog-ignore-db=test binlog-ignore-db=information_schema binlog-ignore-db=performance_schema slow_query_log=TRUE slow_query_log_file=/tmp/mysqld_slow_query3.log long_query_time=3 replicate_ignore_db=mysql slave-skip-errors=all [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/data/mysql/mysqld.pid