1.环境说明:DB master: 172.16.1.55
DB slave: 172.16.1.56
2.Server-id 配置(/etc/my.cnf):
主库配置server-id要比从库的ID小。
主库ID设置:Server-id=55
从库ID设置:Server-id=56
3.日志格式设置(/etc/my.cnf):
log-bin=mysql-bin (主库、从库都设置)
4.主库授权从库的权限设置:
grant replication slave on *.* to ‘slave’@’172.16.1.56’ identified by ‘[email protected]’;
flush privileges;
5.主库设置要进行主从同步的数据库和不需要主从同步的数据库:
使用binlog-do-db=XXX手动指定需要同步的数据库;
使用binlog-ignore-db=XXX手动指定不需要同步的数据库;
vi /etc/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id= 55
binlog-do-db = test
binlog-do-db = information_schema
binlog-do-db = performance_schema
binlog-ignore-db = mysql
6.从库设置要从主库同步的数据库和不需要从主库同步的数据库:
使用replicate-do-db=XXX手动指定需要同步的数据库;
使用replicate-ignore-db=XXX手动指定不需要同步的数据库;
vi /etc/my.cnf:
[mysqld]
log-bin=mysql-bin
server-id= 56
replicate-do-db = test
replicate-do-db = information_schema
replicate-do-db = performance_schema
replicate-ignore-db = mysql
7.主库和从库分别重启mysql数据库。
service mysql restart
8.主库上执行:
show master status;
记录下mysql-bin的文件和位置。
比如看到的位置是:mysql-bin.000014 107
9.从库上先停止slave状态:
slave stop;
10.从库上手动执行数据同步:
change master to master_host=’172.16.1.55’,master_user=’slave’,master_password=’[email protected]’,master_log_file=’mysql-bin.000014’,master_log_pos=107;
11.打开从库的slave机制:
slave start;
12.查看slave slave status\G;
13.测试mysql 主从状态:
在主库上创建表,然后到从库上使用相对应的数据库执行show tables;语句。
在主库数据表中插入数据,然后从从库中执行select查询语句,查看同步过来的数据表中的数据记录。
create table linxi (id int not null primary key,name char(20));
insert into linxi values (1,’lutaoxu’);
从库上执行查询语句:
use test;
select * from linxi;