时间:2021-07-01 10:21:17 帮助过:23人阅读
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