一、mysql的多实例 NGINX多实例就是多个配置文件 mysql多实例:同一个软件启动多次,就是多个进程,每个进程监听的端口不同 1.不同的数据目录 2.不同的端口 3.不同的socket文件 4.不同的日志文件 1.创建多个数据目录 [root@db01 ~]# mkdir /data/{3307,3308,3309} -p 2.准备多个配置文件 [root@db01 data]# vim /data/3307/my.cnf [mysqld] basedir=/service/mysql datadir=/data/3307/data port=3307 socket=/data/3307/mysql.sock log-error=/data/3307/data/mysql.err log-bin=/data/3307/data/mysql-bin server_id=7
[root@db01 data]# vim /data/3308/my.cnf [mysqld] basedir=/service/mysql datadir=/data/3308/data port=3308 socket=/data/3308/mysql.sock log-error=/data/3308/data/mysql.err log-bin=/data/3308/data/mysql-bin server_id=8
[root@db01 data]# vim /data/3309/my.cnf [mysqld] basedir=/service/mysql datadir=/data/3309/data port=3309 socket=/data/3309/mysql.sock log-error=/data/3309/data/mysql.err log-bin=/data/3309/data/mysql-bin server_id=9 3.初始化多套数据目录 [root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3307/my.cnf --user=mysql --basedir=/service/mysql --datadir=/data/3307/data
[root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3308/my.cnf --user=mysql --basedir=/service/mysql --datadir=/data/3308/data
[root@db01 scripts]# ./mysql_install_db --defaults-file=/data/3309/my.cnf --user=mysql --basedir=/service/mysql --datadir=/data/3309/data
#使用tree可以查看
[root@db01 scripts]# tree -L 3 /data
4.授权目录
[root@db01 scripts]# chown -R mysql.mysql /data
5.启动数据库
[root@db01 scripts]# mysqld_safe --defaults-file=/data/3307/my.cnf &
[root@db01 scripts]# mysqld_safe --defaults-file=/data/3308/my.cnf &
[root@db01 scripts]# mysqld_safe --defaults-file=/data/3309/my.cnf &
6.检查启动
[root@db01 scripts]# netstat -lntup|grep 330
tcp6 0 0 :::3307 ::: LISTEN 25550/mysqld
tcp6 0 0 :::3308 ::: LISTEN 25722/mysqld
tcp6 0 0 :::3309 :::* LISTEN 25894/mysqld
7.多实例设置密码
[root@db01 scripts]# mysqladmin -uroot -S /data/3307/mysql.sock password '3307'
[root@db01 scripts]# mysqladmin -uroot -S /data/3308/mysql.sock password '3308'
[root@db01 scripts]# mysqladmin -uroot -S /data/3309/mysql.sock password '3309'
8.多实例验证
[root@db01 scripts]# mysql -uroot -p3307 -S /data/3307/mysql.sock -e "show variables like 'server_id';"
Warning: Using a password on the command line interface can be insecure.
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 7 |
+---------------+-------+
[root@db01 scripts]# mysql -uroot -p3308 -S /data/3308/mysql.sock -e "show variables like 'server_id';" Warning: Using a password on the command line interface can be insecure. +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 8 | +---------------+-------+
[root@db01 scripts]# mysql -uroot -p3309 -S /data/3309/mysql.sock -e "show variables like 'server_id';" Warning: Using a password on the command line interface can be insecure. +---------------+-------+ | Variable_name | Value | +---------------+-------+ | server_id | 9 | +---------------+-------+ 9.连接多实例小技巧 [root@db01 scripts]# vim /usr/bin/mysql3309 mysql -uroot -p3309 -S /data/3309/mysql.sock [root@db01 scripts]# vim /usr/bin/mysql3308 mysql -uroot -p3308 -S /data/3308/mysql.sock [root@db01 scripts]# vim /usr/bin/mysql3307 mysql -uroot -p3307 -S /data/3307/mysql.sock
[root@db01 scripts]# chmod +x /usr/bin/mysql*