Linux下MySQL主从配置

1.两台Linux安装同一版本的MySQL。
2.保证主从服务器数据库内容一致。
3.master服务器配置
  3.1创建一个有复制权限的用户,只限slave远程连接访问(为了方便我给了repuser所有权限)
    mysql>GRANT REPLICATION SLAVE ON *.* to 'repuser'@'%' identified by '123456';
    mysql>flush privileges;
  3.2编辑mysql的配置文件
    my.cnf中设置两个必须的参数,没有的添加,有的直接更改即可。
    log-bin=mysql-bin
    server-id  = 1
    保存之后,重启服务。
  3.3查看master状态,记录下两个参数
    mysql> show master status;
    +------------------+----------+--------------+------------------+-------------------+
      File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000012 |      346 |              |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+
    1 row in set
4.slave服务器配置
  4.1编辑mysql的配置文件
    my.cnf中设置两个必须的参数,没有的添加,有的直接更改即可。
    log-bin=mysql-bin
    server-id  = 2
    保存之后,重启服务。
  4.2slave服务器重启后,登录mysql
    mysql>stop slave;
    mysql>change master to master_host='192.168.1.108',master_port=3307,master_user='repuser',master_password='123456',master_log_file='mysql-bin.000012',master_log_pos=346;
    mysql>start slave;
5.验证是否成功
  mysql> show slave status;
  当这个参数都为yes时,证明主从复制成功
  Slave_IO_Running: Yes   Slave_SQL_Running: Yes
6.温馨提示
  6.1如果不小心对从数据库进行了写入操作,主从关系就会终止,需要重启依次主从数据库从步骤4.2开始重新配置。
  6.2binlog-do-db=test #需要备份数据,多个写多行#  
       binlog-ignore-db=mysql#不需要备份的数据库,多个写多行
       建议全部备份就什么都不写,如果配置这些参数容易造成主从数据库不同步。

你可能感兴趣的:(mysql)