实现步骤:
1.首先修改mysql的配置文件,使其支持二进制日志功能。
打开主服务器的mysql配置文件:my.conf
代码:# vi /etc/my.cnf
加入如下三行代码:
参数解释:log-bin=mysql-bin //将mysql二进制日志取名为mysql-bin
binlog_format=mixed //二进制日志的格式,有三种:statement/row/mixed,具体分别不多做解释,这里使用mixed
server-id=101 //为服务器设置一个独一无二的id便于区分,这里使用ip地址的最后一位充当server-id
配置完成,:wq 保存,重启mysql
重启mysql命令:# service mysqld restart
同样的,进入从服务器,配置从服务器的my.cnf,重复步骤1即可,
唯一的区别是,server-id要改成从服务器的ip尾位,即server-id=105;其他两项是一样的,保存,并重启mySQL
2.在主服务器上为从服务器分配一个账号,就像一把钥匙,从服务器拿着这个钥匙,才能到主服务器上来共享主服务器的日志文件。
mysql> create user libai identified by 'libai';
mysql> grant all on *.* tolibai@'192.168.1.%' identified by 'libai';
进入主服务器的mysql界面,
命令: # mysql -u root-p 123456 //我这里mysql账号是root,密码是123456
在mysql操作界面下,输入下面一行命令:
GRANT replication slave ON *.* TO'slave'@'%' IDENTIFIED BY '123456';
3.查看主服务器BIN日志的信息(执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两值会发生改变).
4.设置从服务器
进入从服务器mysql
命令: # mysql -u root-p111111
关闭slave(如果你以前配置过主从的话,一定要先关闭)
命令:stop slave;
开始配置:
输入下面代码即可:
CHANGE MASTER TO
MASTER_HOST='10.7.8.59',
MASTER_USER='admin',
MASTER_PASSWORD='admin',
MASTER_LOG_FILE='mysql-bin.000017',
MASTER_LOG_POS=154;
参数解释:MASTER_HOST : 设置要连接的主服务器的ip地址
MASTER_USER : 设置要连接的主服务器的用户名
MASTER_PASSWORD : 设置要连接的主服务器的密码
MASTER_LOG_FILE : 设置要连接的主服务器的bin日志的日志名称,即第3步得到的信息
MASTER_LOG_POS : 设置要连接的主服务器的bin日志的记录位置,即第3步得到的信息,(这里注意,最后一项不需要加引号。否则配置失败)
先在从服务器配置完成,启动从服务器:
命令: start slave;
5.查看是否配置成功:
命令: show slavestatus;
上面两项均为yes,说明配置成功,否则,请重复前面的步骤。