当前位置:Gxlcms > 数据库问题 > Linux下Mysql主从复制

Linux下Mysql主从复制

时间:2021-07-01 10:21:17 帮助过:5人阅读

系统:CentOS6.4 32位

Mysql:5.5版本

selinux关闭 防火墙关闭

  1. setenfore <span style="color: #800080;">0</span><span style="color: #000000;">
  2. setvice iptables stop</span>

 

Master:42.51.153.157

Slave:42.51.155.219

2.就是要确定服务器上的Mysql

  1. <span style="color: #0000ff;">yum</span> <span style="color: #0000ff;">install</span> mysql mysql-server -y

 

3.确认时间同步

  1. [root@master ~]# <span style="color: #0000ff;">yum</span> <span style="color: #0000ff;">install</span> ntp -<span style="color: #000000;">y
  2. [root@master </span>~]# <span style="color: #0000ff;">vi</span> /etc/<span style="color: #000000;">ntp.conf #添加以下2行
  3. server </span><span style="color: #800080;">127.127</span>.<span style="color: #800080;">1.0</span><span style="color: #000000;">
  4. fudge </span><span style="color: #800080;">127.127</span>.<span style="color: #800080;">1.0</span> stratum <span style="color: #800080;">8</span>

 

  1. [root@master ~]# /etc/init.d/ntpd restart #重启ntpd服务

 

2)在节点服务器上进行时间同步

  1. [root@slave1 ~]# /etc/init.d/<span style="color: #000000;">iptables stop
  2. [root@slave1 </span>~<span style="color: #000000;">]# chkconfig iptables off
  3. [root@slave1 </span>~]# <span style="color: #0000ff;">yum</span> <span style="color: #0000ff;">install</span> -<span style="color: #000000;">y ntpdate
  4. [root@slave1 </span>~]# /usr/sbin/ntpdate <span style="color: #800080;">42.51</span>.<span style="color: #800080;">153.157</span>

 

 

四:配置Mysql 

1.首先修改Mysql主配置的配置文件(Master)

  1. [root@master ~]# \<span style="color: #0000ff;">cp</span> /etc/my.cnf /etc/<span style="color: #000000;">my.cnf.old ##修改之前备份
  2. [root@master </span>~]# <span style="color: #0000ff;">vi</span> /etc/<span style="color: #000000;">my.cnf ##修改
  3. server</span>-<span style="color: #0000ff;">id</span> = <span style="color: #800080;">11</span> <span style="color: #008000;">//</span><span style="color: #008000;">修改</span>
  4. <span style="color: #000000;">
  5. log</span>-bin=master-bin <span style="color: #008000;">//</span><span style="color: #008000;">修改</span>
  6. <span style="color: #000000;">
  7. log</span>-slave-updates=<span style="color: #0000ff;">true</span> <span style="color: #008000;">//</span><span style="color: #008000;">增加</span>
  8. <span style="color: #000000;">
  9. [root@master </span>~]# /etc/init.d/<span style="color: #000000;">mysqld restart ##重启Mysql
  10. [root@master </span>~]# mysql -u root –ppassword <span style="color: #008000;">//</span><span style="color: #008000;">登录数据库,给从服务器授权</span>
  11. mysql> grant replication slave on *.* to <span style="color: #800000;">‘</span><span style="color: #800000;">yanghongfei</span><span style="color: #800000;">‘</span>@<span style="color: #800000;">‘</span><span style="color: #800000;">42.51.155.219</span><span style="color: #800000;">‘</span> identified by <span style="color: #800000;">‘</span><span style="color: #800000;">123456</span><span style="color: #800000;">‘</span><span style="color: #000000;">;
  12. mysql</span>><span style="color: #000000;"> flush privileges;
  13. mysql</span>><span style="color: #000000;"> show master status; ##这个日志后面会用的到
  14. </span>+------------------+----------+--------------+------------------+
  15. | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  16. +------------------+----------+--------------+------------------+
  17. | mysql-bin.<span style="color: #800080;">000005</span> | <span style="color: #800080;">343</span> | | |
  18. +------------------+----------+--------------+------------------+
  19. <span style="color: #800080;">1</span> row <span style="color: #0000ff;">in</span> set (<span style="color: #800080;">0.00</span> sec)

 

 

 

 

2.配置从服务器  (Slave)

 

  1. [root@salve shell]# <span style="color: #0000ff;">vi</span> /etc/<span style="color: #000000;">my.cnf
  2. server</span>-<span style="color: #0000ff;">id</span> = <span style="color: #800080;">33</span> <span style="color: #008000;">//</span><span style="color: #008000;">修改 此处ID只要比Master大就可以</span>
  3. <span style="color: #000000;">
  4. relay</span>-log=relay-log-bin <span style="color: #008000;">//</span><span style="color: #008000;">增加</span>
  5. <span style="color: #000000;">
  6. relay</span>-log-index=slave-relay-bin.index <span style="color: #008000;">//</span><span style="color: #008000;">增加</span>
  7. <span style="color: #000000;">
  8. 修改完成之后重启mysql服务
  9. 登录Mysql,配置同步
  10. [root@salve shell]# service mysqld restart
  11. [root@slave1 </span>~]# mysql -<span style="color: #000000;">u root –ppassword
  12. mysql</span>><span style="color: #000000;"> stop slave; ##首先停止
  13. mysql</span>> change master to master_host=<span style="color: #800000;">‘</span><span style="color: #800000;">42.51.153.157</span><span style="color: #800000;">‘</span>,master_user=<span style="color: #800000;">‘</span><span style="color: #800000;">yanghongfei</span><span style="color: #800000;">‘</span>,master_password=<span style="color: #800000;">‘</span><span style="color: #800000;">123456</span><span style="color: #800000;">‘</span>,master_log_file=<span style="color: #800000;">‘</span><span style="color: #800000;">mysql-bin.000005</span><span style="color: #800000;">‘</span>,master_log_pos=<span style="color: #800080;">343</span><span style="color: #000000;">;
  14. mysql</span>><span style="color: #000000;"> start slave;
  15. mysql</span>> show slave status \G;

 

查看是否成功~

 

技术分享

 

上面2处都为Yes的时候表示已经成功了~~

 

3. 测试主从是否复制成功,主服务器创建数据库看是不是被同步过去了

Master:

技术分享

 

Slave:

技术分享

 

下面我来装一个Discuz论坛 我们来测试下数据表会不会被同步进去,这里安装网站不再详细说了 我这面用的环境是lnmp   首先下载一个Discuz的包 网上有很多

  1. [root@master ~]# <span style="color: #0000ff;">unzip</span> Discuz_7.2_FULL_SC_UTF8.<span style="color: #0000ff;">zip</span><span style="color: #000000;">
  2. [root@master </span>~]# <span style="color: #0000ff;">mv</span> upload/ /usr/share/nginx/html/<span style="color: #000000;">
  3. [root@master </span>~]# cd /usr/share/nginx/html/<span style="color: #000000;">
  4. [root@master html]# </span><span style="color: #0000ff;">mv</span> upload/<span style="color: #000000;"> Discuz
  5. [root@master html]# </span><span style="color: #0000ff;">chmod</span> <span style="color: #800080;">777</span> -R ./Discuz/<span style="color: #000000;">
  6. [root@master </span>~]# service nginx restart

 

Master:

技术分享

Slave:

技术分享

上面可以看出主从复制成功~~

 

 



 



Linux下Mysql主从复制

标签:

人气教程排行