mysql 主从同步配置,指定端口。
修改并重启主服务器 master
修改 master 的 mysql 配置文件,启用二进制日志及设置服务器id。重启 mysql
$ vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=1 //[必须]服务器唯一ID,默认是1,一般取IP最后一段 $ service mysql restart
修改并重启从服务器 slave
修改 slave 的 mysql 配置文件,设置服务器 id。重启 mysql
#vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[不是必须]启用二进制日志 server-id=2 //[必须]服务器唯一 ID,默认是1,一般取 IP 最后一段 service mysql restart
在主服务器上建立帐户并授权 slave
#mysql -uroot -p mysql>GRANT REPLICATION SLAVE ON *.* to 'lmlphp'@'%' identified by '123456';
登录主服务器的 mysql,查询 master 的状态
mysql>show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 100 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
注:执行完此步骤后不要再操作主服务器 MYSQL,防止主服务器状态值变化
配置从服务器 Slave
mysql>change master to master_host='192.168.1.102',master_user='lmlphp',master_password='a12345',master_port=3307,master_log_file='mysql-bin.000001',master_log_pos=100; //注意不要断开,端口号及日志文件位置中的数字前后无单引号。 Mysql>start slave; //启动从服务器复制功能
检查从服务器复制功能状态
mysql> show slave status\G看到 IO、SQL 2个线程都是 Yes 表示当前执行顺利。
从库的一些同步设置:
[mysqld] replicate_wild_do_table=test_repl.%