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.%
08-13 14:37