温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql主从复制环境搭建

发布时间:2020-05-30 00:17:23 来源:网络 阅读:615 作者:871690991 栏目:数据库

mysql 主从

第一次我用不同版本mysql做会出不同步问题,建议用相同版本的mysql做主从


  1. 主my.cnf文件 (192.168.1.64)

mysqld模块加入

log-bin=mysql-bin 启动二进制文件

server-id=1 服务器ID

binlog-do-db = 需要复制的库名可以用,分割

如果主数据库存有数据

首先进行锁表操作,不让数据进行写入动作,这么做事为了防止从数据库的原始数据和主数据库的原始数据不一致。

主进入mysql

mysql> flush tables with read lock;

mysqldump –uroot –p123456 testDB > /home/testDB.sql

scp  -r /home/testDB.sql root@192.168.1.12:/home

从进入mysql

create database testDB;

mysql -u root  "你的数据库名"< “你的sql文件”

做完之后进行unlock tables; 解锁表操作

进入mysql

新建用户并且给从使用

第一步grant replication slave on *.* to 'test'@'192.168.1.12' identified by '1234';

第二步Grant all on testDB.* to 'test'@'192.168.1.12' identified by '1234' with grant option;

show master status;
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |      106 | testDB       |                  |
+------------------+----------+--------------+------------------+


2.从my.cnf文件(192.168.1.12)


mysqld模块加入

log-bin=mysql-bin 启动二进制文件

server-id=2 服务器ID

进入mysql

change master to master_host='192.168.1.64',master_user='test',master_password='1234',master_log_file='mysql-bin.000002',master_log_pos=2852;

start slave;

show slave status\G
mysql>  show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.64
                  Master_User: test
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 2852
               Relay_Log_File: mysqld-relay-bin.000002
                Relay_Log_Pos: 251
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

     

要求Slave_IO_Running 和SQL等于yes才行

如果俩个有一个没有yes

检查数据库用户权限和防火墙,

从服务器登陆主测试mysql -h292.168.1.64 -utest -p 

在检查serverip

mysql> show variables like 'server_id';

或者slave stop;   slave start;

如果还不行就装俩个一样版本的mysql测试一下




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI