【主】 192.168.31.7
1. 改 my.cnf 配置文件
在[mysqld]的节点下添加
[mysqld] log-bin=mysql-bin #开启二进制日志 server-id=1 #设置server-id
2. 重启mysql,创建用于同步的用户账号
CREATE USER ‘repl‘@‘123.57.44.85‘ IDENTIFIED BY ‘slavepass‘;
GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘123.57.44.85‘;#分配权限
3. 查看master状态,记录二进制文件名(mysql-bin.???)和位置(???):
使用以下命令查看
SHOW MASTER STATUS;
【二】、从服务器slave修改:
1.修改mysql配置
同样找到my.cnf配置文件,添加server-id
[mysqld] server-id=2 #设置server-id,必须唯一
2、运行以下语句 ,
CHANGE MASTER TO MASTER_HOST=‘192.168.31.7‘,
MASTER_USER=‘repl‘,
MASTER_PASSWORD=‘slavepass‘,
MASTER_LOG_FILE=‘mysql-bin.000001‘,
MASTER_LOG_POS=1157;
注意:以上的master_log_file 是来自master查询后的结果的
3、运行 start slave;
Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。
--------注意下面-------
master开启二进制日志后默认记录所有库所有表的操作,可以通过配置来指定只记录指定的数据库甚至指定的表的操作,具体在mysql配置文件的[mysqld]可添加修改如下选项:
# 不同步哪些数据库 binlog-ignore-db = mysql binlog-ignore-db = test binlog-ignore-db = information_schema # 只同步哪些数据库,除此之外,其他不同步 binlog-do-db = game