最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Mysql 实现主从同步

XAMPP下载 中文小张 41浏览 0评论

第一步进入主服务器配置

目的是给从服务器分配账号与访问权限。

mysql>  GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101' IDENTIFIED BY 'mysql';

192.168.1.101是从服务器的ip地址,repl,mysql分别是同步账号密码别忘了

mysql> SHOW MASTER STATUS;

Empty set (0.00 sec) 

查看主服务器的状态,empty表示未开启二进制日志,下一步去开启。

修改 /etc/my.cnf文件

在[mysqld]后面加入

server-id=9

log-bin=master-bin

log-bin-index=master-bin.index

serveri-id 自己定,一般是服务器ip最后一个数字,不要重复。

重启mysql service:

/etc/init.d/mysqld restart

mysql> SHOW MASTER STATUS;

+-------------------+----------+--------------+------------------+

| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+-------------------+----------+--------------+------------------+

| master-bin.000001 |  3996131 |              |                  |

+-------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

记下File Position,后面要用到。

开始配置Slave从服务器

同理先修改/etc/my.cnf文件,在[mysqld]在新增

server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin 

重启mysql service:

/etc/init.d/mysqld restart

配置连接master

mysql> change master to master_host='192.168.0.104', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='mysql', 
master_log_file='master-bin.000001',//Master服务器产生的日志
master_log_pos=0;

使用时记得把注释删除

启动Slave

mysql> start slave;

主从同步检查

mysql> show slave status\G

其中SlaveIORunning 与 SlaveSQLRunning 的值都必须为YES,才表明状态正常。

常见的遇到的问题

  1. SlaveIORunning一直为no,查看主从服务器3306端口是否可以访问,iptables是否已经设置。
  2. 同步日志有关与字符类型的报错,查看主从服务器的Mysql版本是否一致。
  3. 如何控制单独库,单独表的同步?

在/etc/my.cnf中配置

replicate-do-db = dashboard
replicate-ignore-db = mysql
replicate-ignore-table = mysql
replicate-do-table = dashboard

转载请注明:XAMPP中文组官网 » Mysql 实现主从同步