mysql的主从复制及yii2的配置 [ 未指定版本 ]
以下面两台mysql服务器为例
主 139.129.243.201
从 139.129.243.202
1.主服务器139.129.243.201的配置
修改msql的配置文件
vim /etc/my.cnf
找到 log-bin=mysql-bin,删除#号开启它
然后设置server-id,id必须是唯一,主从服务器不能一样.
然后重启mysql
service mysql restart
然后进入mysql
mysql -u root -p
在mysql中添加一个只有从服务器139.129.243.202能进入的账号, 账号名我这里设置为slave,密码为123456
grant replication slave on *.* to slave@139.129.243.202 identified by '123456';
然后
show slave status;
记住上图的file 和 position
2.从服务器139.129.243.202的配置
修改mysql的配置
vim /etc/my.cnf
注释两处
#log-bin=mysql-bin
#binlog_format=mixed
设置server-id 为唯一值
修改配置后重启mysql
service mysql restart
然后进入mysql
mysql -u root -p
然后在mysql中输入
CHANGE MASTER TO
MASTER_HOST='139.129.243.201',
MASTER_USER='slave',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=716;
这样配置就完成了
查看是否配置成功在mysql中输入
show slave status\G
如果显示
Slave_IO_State: Waiting for master to send event
就代表成功了
失败的话看我的备注来排除错误.
3.yii配置
本站文档中有
http://www.yiichina.com/doc/guide/2.0/db-dao#read-write-splitting
ps :
MASTER_HOST 主服务器ip
MASTER_USER 主服务器配置的那个只有从服务器能登录的账号
MASTER_PASSWORD 主服务器配置的那个只有从服务器能登录的账号的密码
MASTER_LOG_FILE 主服务器mysql中 show slave status; 后显示表中的file名
MASTER_LOG_POS 主服务器mysql中 show slave status; 后显示表中的position
导致lave_IO_Running 为connecting 的原因主要有以下 3 个方面:
1、网络不通
2、密码不对
3、pos不对
4、配置完后没有重启mysql
shenjr
最后登录:2019-01-21
在线时长:13小时54分
- 粉丝1
- 金钱135
- 威望10
- 积分365
共 1 条评论