Window XP 和 CentOS6.5 下MySQL主从同步配置

本人参考了一篇博文:Centos5.4和Windows server 2003的MySQL主从同步配置

       当系统的并发量比较大时,单个MySQL数据库无法支撑,也不保险。因此,在实际的生产环境中通常会配置两台MySQL数据库,一台是Master主数据库,另一台是Slave从数据库,其中主数据库主要承担写操作,从数据库主要承担读操作,这样实现读写分离,提高MySQL数据库的并发量,提高系统的可用性。

       下面将根据参考博文以及自己的操作过程给出MySQL主从同步配置的过程。

1、Window XP 下安装MySQL

MySQL的版本是5.5.10,这个MySQL作为Master主数据库,安装过程就不多说了。

2、CentOS6.5 下安装MySQL

MySQL的版本是5.1.73,这个MySQL作为Slave从数据库。

安装的过程详见:centos6.5下安装mysql

3、分别登录master机和slave机的mysql

mysql –u root –p 

创建数据库

mysql>create database test;

4、为master添加用户

myhostname为master机的域名,也可以改成IP,但最终以slave能连得上master为准。

mysql>create user 'myUser'@'myhostname' identified by '123456';
mysql>grant all privileges on test.* to 'myUser'@'myhostname' identified by '123456';
mysql>flush privileges;

5、slave中的mysql远程登陆master上的mysql

[root@bogon share]# mysql -h 192.168.1.102 -P 3306 -u myUser -p123456

6、分别修改master和slave的配置文件my.ini和my.cnf

6.1、修改master的my.ini

在[mysqld]下添加

log-bin=E:/MySQL/MySQL Server 5.0/logs/mysql-bin # 这是我的二进制日志路径很重要,如果没有logs文件夹可以自己建立
server-id=1 #这是主服务器进程
binlog-do-db=test #要同步的数据库,如果没有本行,即表示同步所有的数据库 然后在master机上为slave机添加一同步帐号

给从数据库的用户myUser授权访问

mysql>grant replication slave on *.* to 'myUser'@'192.168.1.102' identified by '123456';

重启master 机的mysql服务,命令行下:

net stop mysql
net start mysql

查看master的状态

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 |      588 | test         |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

6.2、修改slave的my.cnf

把默认的log-bin=mysql-bin,server-id=1注释掉(前面加#)

[mysqld]字段下添加如下内容

server-id=2
master-host=192.168.1.102
master-user=myUser
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=test  #要同步的数据库
# replicate_ignore_table=test. sessions #可以忽略某个或某些表同步 注意:slave的log-bin就没有必要设置了(有人推荐设置),否则可能出现不必要的错误

配置好后,进入mysql

[root@bogon ~]# mysql -u root -p

添加master参数,要与master机的参数一致,注意:每次重起master机后,master_log_file和master_log_pos这两个参数的值可能会变化,因此要重新设置slave中的master参数。

mysql>change master to master_host='192.168.1.102', master_user='myUser', master_password='123456', master_port=3306, master_log_file='mysql-bin.000005',  master_log_pos=588;

重启slave,

mysql>slave stop;
mysql>slave start;
mysql>show slave status;

如果Slave_IO_Running、Slave_SQL_Running状态为Yes则表明设置成功.

7、验证同步

7.1 验证表结构同步

7.1.1 在master mysql的数据库test中创建表user

mysql> use test;
Database changed
mysql> create table user(id varchar(32),name varchar(32));
Query OK, 0 rows affected (0.17 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.02 sec)

7.1.2 在slave mysql的数据库test中查看表

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.00 sec)

说明master与slave的表user同步成功!

7.2 验证表数据同步

7.2.1 向master中的表user插入数据

mysql> insert into user(id,name)values('id1','name1');
Query OK, 1 row affected (0.30 sec)

7.2.2 查看slave中表user中的情况

mysql> select * from user;
+------+-------+
| id   | name  |
+------+-------+
| id1  | name1 |
+------+-------+
1 row in set (0.00 sec)

说明master与slave的表user中的数据同步成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值