mysql中的复制,mysql数据单项同步,mysql主从库配置实践
? 参考资料:
官方手册5.x.chm
?
mysql异步、半同步+ssl配置
http://ouroboros.blog.51cto.com/2468486/790948
主服务器master :
?操作系统,win7;数据库版本,mysql version 5.5.23;Ip192.168.0.13
从服务器slave :
操作系统,virtual box xp ;数据库版本,mysql version 5.5.23;Ip192.168.0.29
两台机器可以相互访问。
?
?
修改my.ini
在[mysqld]下面添加如下内容:
server-id? ?????????????= 1??? #主机标示,整数
log_bin???????????????? =/var/log/mysql/mysql-bin.log?? #确保此文件可写
read-only?????? =0? #主机,读写都可以
binlog-do-db??? =test?? #需要备份数据,多个写多行
binlog-ignore-db=mysql #不需要备份的数据库,多个写多行
重启。执行show master status;记录File Positin 下一步用到。
修改my.ini
server-id= 2
log_bin=C:\mysql\data
master-host=192.168.0.13
master-user=repl
master-pass=slavepass
master-port=3306
master-connect-retry=60#如果从服务器发现主服务器断掉,重新连接的时间差(秒)
replicate-do-db=dbsyn #只复制某个库
replicate-ignore-db=mysql#不复制某个库
?
?
[mysqld]
character-set-server= utf8
replicate-ignore-db= mysql
replicate-do-db= db
replicate-ignore-db= test
replicate-ignore-db= information_schema
user = mysql
port = 3306
socket =/tmp/mysql.sock
basedir =/usr/local/mysql
datadir =/home/mysql/data
master_host='192.168.0.13',
master_user='repl',
master_password='slavepass',
master_log_file='具体文件',
master_log_pos=具体位置;??
主库:
reset maste
#主机端运行,清除所有的日志
?
从库:???
show slave status\G; 查看状态
start slave;开启同步
stop slave;停止同步
在从库上执行如下命令;#在线改变一些主机设置
master_host='192.168.0.13',
master_user='repl',
master_password='slavepass',
master_log_file='具体文件',
master_log_pos=具体位置;
?
将主库字段重新同步到从库。前提是主库没有执行reset maste
?