学习成长

提供在线文档,方便大家学习


mysql主从配置

<h2>1.1 部署环境</h2> <p>主(master_mysql):192.168.1.5 OS:Centos 7.2 从(slave_mysql):192.168.1.6 OS:Centos 7.2</p> <h2>1.2 配置</h2> <h3>1.2.1主配置(master_mysql配置)</h3> <p>vi /etc/my.cnf</p> <p>server-id=1 #设置主服务器的ID innodb_flush_log_at_trx_commit=2 # sync_binlog=1 #开启binlog日志同步功能 log-bin=mysql-bin-5 #binlog日志文件名 binlog-do-db=IOT1 # 这个表示只同步某个库 </p> <h3>1.2.2配置完成后,重启主库的mysql</h3> <p>service mysqld restart 登录mysql mysql -u root -p </p> <p>mysql&gt;grant replication slave on <em>.</em> to 'mark'@'192.168.1.%' identified by 123456';<br /> 授权给从数据库服务器用户名mark,密码123456,192.168.1.%使用通配符表示该网段下所有服务器均可使用</p> <p>mysql&gt;show master status ; ##查看主库的状态 file,position这两个值很有用,记一下。要放到slave配置中</p> <table> <thead> <tr> <th>File</th> <th>Position</th> <th>Binlog_Do_DB</th> <th>Binlog_Ignore_DB</th> <th>Executed_Gtid_Set</th> </tr> </thead> <tbody> <tr> <td>mysql-bin-5.000002</td> <td>906</td> <td>xxxx</td> <td></td> <td></td> <td></td> </tr> </tbody> </table> <p>1 row in set (0.00 sec)</p> <h3>1.2.3从配置(slave_mysql配置)</h3> <p>vi /etc/my.cnf</p> <p>server-id=2 innodb_flush_log_at_trx_commit=2 sync_binlog=1 log-bin=mysql-bin-6</p> <h3>1.2.4配置完成后,重启从库的mysql</h3> <p>service mysqld restart mysql -u root -p ##登录mysql</p> <p>mysql&gt; change master to master_host='192.168.1.5', master_user='mark' ,master_password='123456', master_log_file='mysql-bin-5.000002' ,master_log_pos=906; mysql&gt; start slave;#开启从库 (stop slave:关闭从库) mysql&gt; show slave status \G; Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功</p> <h2>1.3 验证主从</h2> <p>可以在主库上对数据进行操作,再在从库上刷新是否同步 常见BUG 在配置结束后,可能会出现 Slave_IO_Running: No Slave_SQL_Running: Yes 在确认主服务器防火墙已关闭,互相可以ping通,id设置唯一的前提下,还出现这个问题,那可能就是克隆了虚拟机,只改server-id不行,两台服务器的mysql的uuid还是同一个 cp /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bk 备份该文件 service mysqld restart 重启mysql,会重新生成该文件,mysql的uuid已经被重新生成 然后再去从服务器重启slave mysql&gt; stop slave; mysql&gt; start slave; mysql&gt; show slave status \G; 然后可以看到现在已经是启动正常了 Slave_IO_Running: Yes Slave_SQL_Running: Yes</p>

页面列表

ITEM_HTML