port = 3306
log_bin = /var/lib/mysql/mysql-binlogserver-id = 1 //只要主从不一样就行
binlog_do_db = test//要做同步的数据库名字,可以是多个数据库,之间用分号分割。
mysql>create user repl; //创建新用户
//repl用户必须具有REPLICATION SLAVE权限,除此之外没有必要添加不必要的权限,密码为mysql。说明一下192.168.0.%,这个配置是指明repl用户所在服务器,这里%是通配符,表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.0.%' IDENTIFIED BY 'mysql';
查看日志
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
重启MySQL服务
2、从库的配置文件中添加
方法一:
port=3306server-id=2
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index
方法二:(mysql版本从5.1.7以后就不支持master-host属性了,所以次中方法试用比较老的版本)
[mysqld]server-id=2
master-host=10.100.0.100
master-user=backup
master-password=1234
重启从的mysql服务
登录从的mysql
然后执行下面命令:(每次重启都要重新配置)
mysql> stop slave;
mysql> change master to master_host='192.168.1.201',master_user='repl',master_password='mysql';
mysql> start slave;
查看设置是否正确:
mysql> show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes