mysql主从配置实例

 实验环境:

服务器AmasterIP:10.168.8.5

服务器BslaveIP: 10.168.1.78

Mysql版本:5.5.11

主从配置过程

1)  两台机器上部署好mysql服务,可参考http://360537539.blog.51cto.com/3803422/768962

主服务器配置

2)  创建同步用户(用来实现binary log的复制),在主服务器上为从服务器建立连接账号,该账号必须授予replication slave权限

mysql>grant replication slave on *.* to 'replication'@'192.168.1.%' identified by '000000';

mysql>flush privileges;

slave上从库连接主库进行测试: mysql -h192.168.8.50 -ureplication –p000000

此处测试应该是通过的,否则 mysql 配置有问题

3) 修改mysql配置文件my.cnf确保有下面的信息

[mysqld]
   
log-bin = mysql-bin
   
server-id = 1
   
其中可以加上来控制需要同步和忽略同步的表
   
binlog-do-db = test // 需要同步的表
   
binlog-ignore-db=mysql//忽略同步的表
   
  4) 
  重启mysql
   
Serviece mysqld restart
   
5)查看master状态
   
mysql>flush tables with read lock;//将数据库表锁住
   
mysql>show master status\G//查看binary logpos用来提供给slave请求binary log时使用
   
*************************** 1. row ***************************
   
            File: binlog.000006
   
        Position: 107
   
    Binlog_Do_DB: test
   
Binlog_Ignore_DB: mysql
   
1 row in set (0.00 sec)
   
mysql>unlock tables;//解锁
   
如果为一个已在生产环境下的mysql增加一个slave,需要先锁表把master的数据dump出来,并show master slave记录binary logpos信息,然后解锁
   

   
     
   

   
     
   
从服务器配置
   

1) 修改配置文件my.cnf

  2) 
  [mysqld]  
   
server-id = 2
   
log-bin = mysql-bin
   
以下内容为可选
   
replicate-do-db = test
   
replicate-ignore-db = mysql,information_schema
   
  3) 
  重启mysql服务
   
Service mysqld restart
   
  4) 
  指定slavemaster的同步信息
   
mysql>change master to master_host='192.168.8.50', master_user='replication', master_password='000000', master_log_file='binlog.000006', master_log_pos=107; 
注:slaveio进程向主服务器192.168.8.50,请求binlog.000006107位置后面的日志内容,master_log_file指明文件名,master_log_pos指明位置,此外还需要给出同步的用户名和密码 
mysql 5.x以上版本已经不支持在配置文件中指定主服务器相关选项 
  5) 
  启动从服务器线程 
mysql>start slave;
   
  6) 
  查看从服务器状态
   
  7) 
  mysql>show slave status\G;
   
保证slave端的IOSQL线程状态为running 
   
Slave_IO_Running: Yes
   
Slave_SQL_Running: Yes
   

 

你可能感兴趣的:(mysql,master,slave,mysql主从配置,mysql主从实例)