Maison  >  Article  >  base de données  >  mysql实现master-slave同步_MySQL

mysql实现master-slave同步_MySQL

WBOY
WBOYoriginal
2016-06-01 13:32:481125parcourir

bitsCN.com

mysql实现master-slave同步

 

mysql中实现master-slave同步:

 

第一步:分别在两台机子上各装一个mysql (本人测试机系统为unbutu,mysql5.5),如只有一台机器,需使mysql的端口不同(3306,3307)。

 

第二步:找到mysql 的my.cnf文件。

 

       $cd /etc/mysql  进入该目录。

 

       $ vim my.cnf  如是只读,且不允许修改。需用$ sudo vim my.cnf

 

第三步:修改my.cnf 中的配置项:

 

       1 需做如下操作:

 

          将bind-address=127.0.0.1 改为 bind-address=0.0.0.0

 

          将#server-id=1 

 

          #log_bin=/var/log/mysql/mysql-bin.log

 

       的注释(#)去掉。

 

       添加:character-set-server=utf-8 #保证编码一致。

 

      填加完成后,保存并退出即可。

 

第四步:

 

     用root权限登录并创建slave数据库服务器用户:

 

     $mysql -uroot -p

 

    mysql>grant replication slave,replication client on *.* to liang@'192.168.10.21' indntified by 'liang';

 

    mysql>grant replicatin slave on *.* to liang@'192.168.10.21' indntified by 'liang';

 

第五步:重启mysql服务。 

 

     $ sudo /etc/init.d/mysql restart  #如不能正常启动,请检查my.cnf配置项以及mysql 的错误日志。

 

     错误日志位置:/var/log/mysql/error.log

 

到此已将master配置完毕。

 

slave配置。

 

第六步:修改slave的my.cnf配置文件。

 

如下:

 

bind-address=0.0.0.0

 

server-id               = 2

master-host           = 192.168.10.24

master-user           = liang

master-password    = liang

master-port           = 3306

log_bin                 = /var/log/mysql/mysql-bin.log

log-slave-updates

skip-slave-start

 

character-set-server=utf8

 

保存并退出.

 

第七步:重启slave的mysql服务器(同第五步)

 

  本人在重启时出现错误,不能启动mysql.经查日志发现:如下错误(暂略)由于错误日志不在本机。以后补上,嘿嘿。

 

  故将配置改为如下:

 

server-id               = 2

#master-host           = 192.168.10.24

#master-user           = liang

#master-password    = liang

#master-port           = 3306

log_bin                 = /var/log/mysql/mysql-bin.log

log-slave-updates

skip-slave-start

 

character-set-server=utf8

 

保存并重启mysql,ok.

 

进入myslq,并在mysql中运行:

 

slave start;

 

第八步:在master中执行:

 

     mysql>show master status/G;

 

    显示内容为如下:

 

第九步:在slave中,运行如下命令:

 

    mysql>change master to master_host='192.168.10.24', master_user='liang', master_password='liang', master_log_file='mysql-bin.000007', master_log_pos=170;

 

  其中master_log_file,master_log_pos 为第八步中所显示的内容 .

 

   mysql>slave start;

 

第十步:在master的中执行如下命令:

 

   mysql>show slave status/G;

 

   请查看Slave_IO_Running:YES

 

           Slave_SQL_Running:YES

 

  ok ,配置成功。

 

   请出现Slave_IO_Running:Connectiong,请查看下面的错误信息或查看日志文件。

 

第十一步:测试

 

    在主数据库中创建数据库:

 

    mysql>create database ccc;

 

    在slave中查看,如有ccc数据库,则说明同步成功。

 

    同时可测创建表,修改表,添加记录等。一切OK.

 

最后谢谢网络上的朋友。在你们的帮助下,顺得完成。

 

bitsCN.com
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn