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

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;Ip 192.168.0.13

从服务器slave :

操作系统,virtual box xp ;数据库版本,mysql version 5.5.23;Ip 192.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

[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 #不复制某个库

 

 

Mysql版本从5.1.7以后开始就不支持“master-host,使用如下

[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

四: 主库授予从库权限

在主服务器上为服务器设置一个连接账户。该账户必须授予REPLICATION SLAVE权限。如果账户仅用于复制(推荐这样做),则不需要再授予任何其它权限。

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