mysql主从配置

送分小仙女□ 提交于 2019-12-21 09:22:56

mysql主从配置。如下环境测试的:

  主数据库所在的操作系统:windows server 2012

  主数据库的版本:5.7

  主数据库的ip地址:阿里服务器IP

  从数据库所在的操作系统:windows server 2012

  从数据的版本:5.7

  从数据库的ip地址:内网IP

配置步骤:

主服务器:

    1、确保主数据库与从数据库一模一样。

  2、在主数据库上创建同步账号。

    GRANT ALL ON test.* TO 'mstest'@'%' IDENTIFIED BY '123456';    
           test.*:是针对test数据库里的所有表进行配置

         %:是针对所有IP开放,针对某个IP换成固定IP

    mstest:是新创建的用户名

    123456:是新创建的用户名的密码

  3、配置主数据库的my.ini(安装版在C:\ProgramData\MySQL\MySQL Server 5.7)。

           在文件末尾添加:

#Master Config
server-id=1
log-bin=mysql-bin
binlog-do-db=test     //要同步的test数据库,要同步多个数据库,就多加几个binlog-do-db=数据库名

binlog-ignore-db=mysql  //要忽略的数据库

4、重启主数据库的mysql服务。

5、登录主服务器的mysql,查询master的状态
 
  mysql>show master status;
   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)
   注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化。

从服务器:     

      1、配置从数据库的my.ini。

    server-id=2 //不可以跟主服务器重复
    replicate-do-db=test        //要同步的test数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
    replicate-ignore-db=mysql  //要忽略的数据库 

      2、重启从服务器mysql服务。

      3、配置从服务器Slave。

Mysql>stop slave;    //停止从服务器复制功能
Mysql>change master to master_host='主服务器IP',master_user='mstest',master_password='123456',
         master_log_file='mysql-bin.000004',master_log_pos=308;   //注意不要断开,308数字前后无单引号。

Mysql>start slave;    //启动从服务器复制功能

      4、检查从服务器复制功能状态。

   mysql> show slave status;

   *************************** 1. row ***************************

              Slave_IO_State: Waiting for master to send event
              Master_Host: 主服务器地址  //主服务器地址
              Master_User: mstest  //授权帐户名,尽量避免使用root
              Master_Port: 3306    //数据库端口,部分版本没有此行
              Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
              Read_Master_Log_Pos: 600     //#同步读取二进制日志的位置,大于等于Exec_Master_Log_Pos
              Relay_Log_File: ddte-relay-bin.000003
              Relay_Log_Pos: 251
              Relay_Master_Log_File: mysql-bin.000004
              Slave_IO_Running: Yes    //此状态必须YES
              Slave_SQL_Running: Yes     //此状态必须YES
                    ......

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!