shenjr 2018-01-23 20:46:25 596次浏览 1条回复 0 1 0

以下面两台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必须是唯一,主从服务器不能一样.
12104124717.jpg

然后重启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;

12102249814.jpg

记住上图的file 和 position
2.从服务器139.129.243.202的配置

修改mysql的配置
vim /etc/my.cnf
注释两处

log-bin=mysql-bin

binlog_format=mixed

设置server-id 为唯一值
12102732442.jpg

修改配置后重启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

觉得很赞
您需要登录后才可以回复。登录 | 立即注册