单机部署mysql多实例,需要用到 mysql 自带的 mysqld_multi 命令,在目录 support_files 下有 mysqld_multi.server 命令封装。
mysql 版本:5.7.27
单机多实例配置
手动创建 my.cnf 文件
mac 使用 dmg 文件直接安装,不会自动生成 my.cnf 文件,需要手动创建。
1 | [mysqld_multi] |
执行 mysqld_multi.server start
这时会在控制台显示出生成的密码,记住待会儿会进行修改。
修改密码
1 | mysqladmin -u root -P 3312 -p -S /tmp/mysql.sock2 password |
连接 mysql
1 | mysql -u root -p -P 3312 -S /tmp/mysql.sock2 |
关闭mysql
1 | ./mysqld_multi.server stop #关闭所有 |
单机多实例主从配置
具体执行顺序按照链接中的顺序操作即可。这里只谈在操作中采的坑以及核心要点。
不要在命令行直接输入密码,例如:
mysql -u root -p 'root' -P 3312 -S /tmp/mysql.sock2
解决方法:去掉-p后的 ‘root’。
mysql -u root -p -P 3312 -S /tmp/mysql.sock2
从库
Slave_IO_Running: Connecting
问题1
2Slave_IO_Running: Connecting
Slave_SQL_Running: Yes解决方法:这个问题多半是未连接到主库专门用来复制的用户,检查用户名,用户权限等。
主库备份问题
关键在于了解参数的意义,可以指定某个数据库进行备份,也可以
-A
全部备份。1
mysqldump -u root -p -S /tmp/mysql/mysql.sock1 -A > mysql_bak.2019-10-06.sql