error_lei 发表于 2013-1-29 16:29:10

mysql中的复制,mysql数据单项同步,mysql主从库配置实践

  参考资料:
官方手册5.x.chm
 
mysql异步、半同步+ssl配置
http://ouroboros.blog.51cto.com/2468486/790948
mysql master-slave (Replication)配置笔记

http://home.phpchina.com/blog-71776-170215.html
 
Mysql-5.5.3-m3 主从同步不支持master-host问题的解决办法[原创]
http://hi.baidu.com/adriannet/blog/item/c4e187ecc586b7c32e2e2100.html

MySQL slave 不能同步更新
http://hi.baidu.com/whq4557/blog/item/87c60251384e2e2243a75b37.html
 

环境:
主服务器master :
 操作系统,win7;数据库版本,mysql version 5.5.23;Ip192.168.0.13
从服务器slave :
操作系统,virtual box xp ;数据库版本,mysql version 5.5.23;Ip192.168.0.29
两台机器可以相互访问。
 
 
配置:
一,两个服务器,建立测试库 表结构相同
CREATE DATABASE `dbsyn` /*!40100 CHARACTER SET utf8 COLLATE 'utf8_general_ci'*/;
CREATE TABLE `user` (
`id` INT(10) NULL,
`name` (10) NOT NULL,
`age` INT(10) NULL,
`birthday` INT(10) NULL,
`pnumber` INT(10) NULL,
PRIMARY KEY(`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
二,修改主服务器配置
修改my.ini
在下面添加如下内容:
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#不复制某个库
 
 
Mysql版本从5.1.7以后开始就不支持“master-host”,使用如下

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
四: 主库授予从库权限
在主服务器上为服务器设置一个连接账户。该账户必须授予REPLICATIONSLAVE权限。如果账户仅用于复制(推荐这样做),则不需要再授予任何其它权限。
GRANT REPLICATION SLAVE ON *.*
      TO'repl'@'192.168.0.29' IDENTIFIED BY 'slavepass';
五:修改信息,开启slave
 change master to
master_host='192.168.0.13',
master_user='repl',
master_password='slavepass',
master_log_file='具体文件',
master_log_pos=具体位置;  
slave start;
 
 
相关命令
主库:
SHOW MASTER STATUS #主机运行,看日志导出信息,用于第五步修改信息
reset maste
#主机端运行,清除所有的日志
 
从库:   
show slave status\G; 查看状态
start slave;开启同步
stop slave;停止同步
在从库上执行如下命令;#在线改变一些主机设置
 change master to
master_host='192.168.0.13',
master_user='repl',
master_password='slavepass',
master_log_file='具体文件',
master_log_pos=具体位置;
slave start;
 
stop slave -- reset slave--start slave
将主库字段重新同步到从库。前提是主库没有执行reset maste
 
页: [1]
查看完整版本: mysql中的复制,mysql数据单项同步,mysql主从库配置实践