配置mysql主从数据库

1,配置master库

在Linux环境下MySQL的配置文件的位置是在 /etc/my.cn (此处配置最好放在其他配置之前)

log-bin=mysql-bin
server-id=1
binlog-ignore-db=information_schema#同步的时候ignore的数据库 
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
binlog-do-db=epm_comp #指定需要同步的数据库

然后重启mysql:

service mysqld restart
#给slave权限
mysql>GRANT FILE ON *.* TO 'root'@'172.16.91.123' IDENTIFIED BY 'password';
mysql>GRANT REPLICATION SLAVE ON *.* TO 'root'@'172.16.91.123' IDENTIFIED BY 'password';
mysql>FLUSH PRIVILEGES

service mysqld restart

重启mysql,登录mysql,显示主库信息

show master status;

这里的 File 、Position 是在配置Salve的时候要使用到的,Binlog_Do_DB表示要同步的数据库,Binlog_Ignore_DB 表示Ignore的数据库,这些都是在配置的时候进行指定的。

另外:如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。

2,配置slave库

 从库的配置,首先也是修改配置文件:/etc/my.cnf 如下:

#slave库的my.ini/my.cnf
log-bin=mysql-bin
server-id=3
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=mysql
replicate-do-db=epm_comp
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

修改完/etc/my.cnf 文件之后,重启一下MySQL(Linux:service mysqld restart)

windows:在服务中

mysql> stop slave;  #关闭Slave
mysql> change master to master_host='192.168.116.13',master_user='root',master_password='password',master_log_file='mysql-bin.000002', master_log_pos=120;
mysql> start slave;  #开启Slave
mysql> show slave status #查看配置的信息

在这里指定Master的信息,master_log_file是在配置Master的时候的File选项, master_log_pos是在配置Master的Position 选项,这里要进行对应。 

配置信息如下: 

3,测试

原文地址:https://www.cnblogs.com/brokencolor/p/8136439.html