mysql主从复制

搭建两台MySQL服务器,一台作为主服务器,一台作为从服务器,实现主从复制

主数据库 47.100.250.83

从数据库 47.106.81.40

配置步骤:

1、保证两个数据库中的库和数据是一致的;

2、在主数据中创建一个同步账号(可不创建使用现有的),如果仅仅为了主从复制创建账号,只需要授予REPLICATION SLAVE权限。
1)、创建一个账号,账号:admin 密码: admin

CREATE USER 'admin'@'%' IDENTIFIED BY 'admin';
GRANT REPLICATION SLAVE ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;

3、配置主数据库

1)要主数据库,你必须要启用二进制日志(binary logging),并且创建一个唯一的Server ID,这步骤可能要重启MySQL。
2)主服务器发送变更记录到从服务器依赖的是二进制日志,如果没启用二进制日志,复制操作不能实现(主库复制到从库)。
3)复制组中的每台服务器都要配置唯一的Server ID,取值范围是1到(232)−1,你自己决定取值。
4)配置二进制日志和Server ID,你需要关闭MySQL和编辑my.cnf或者my.ini文件,在 [mysqld] 节点下添加配置。

如果你的mysql(my.cnf)配置文件中有下面这两句话就不需要 添加 只需要修改即可

注意  server-id 不能一样 

log-bin=mysql-bin

server-id = 2

主服务器操作 进入mysql

  1.       show master status;
记住mysql-bin.000006 和 107这两个

从服务器操作 进入mysql

1  stop slave;

2 输入以下命令

change master to master_host='47.100.250.83',
master_user='admin',
master_password='admin',
master_log_file='mysql-bin.000006',
master_log_pos=107;
3 start slave
 
47.100.250.83是你的主服务器ip
master_user是你授权的账户
master_password是授权账户的密码
master_log_file是你在主服务器  show master status; 出现的 mysql-bin.000006
master_log_pos 也是在主服务器 show master status; 出现的 Position
 
show slave status \G;   //查看状态
 
mysql> show slave status \G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 47.100.250.83
                  Master_User: admin
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000006
          Read_Master_Log_Pos: 107
               Relay_Log_File: iZwz927xcx6m5yz7q4lijtZ-relay-bin.000002
                Relay_Log_Pos: 253
        Relay_Master_Log_File: mysql-bin.000006
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 107
              Relay_Log_Space: 427
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
1 row in set (0.00 sec)

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这两行出现YES 就表示成功了  有一个不是yes就没有成功

Ayuan97

美梦是个气球

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐