Mysql主从复制操作笔记

前提,主从服务器上的mysql 数据库内的数据应该完全一致,才可以实施.如果之前只有一个主mysql 则应该先数据备份出来,还原到从mysql内,先保证数据一致,必要时可能要先停止业务再进行.

1.先建立一个用来copy 用户,用于从mysql从主mysql 拉进日志.
create user copy identified by '123456';

2.给copy 用户授权;
grant replication slave on . to 'copy'@'%' identified by '123456';

3.配置主从mysql的配置文件
主:[mysqld]
server-id = 10 #全局唯一 ID 
log-bin = /data/mysql/binlog/mysql-bin #二进制文件保存路径

从: [mysqld]
server-id = 20 #全局唯一 ID

4.查询并记录下主mysql的position值
mysql> show master status \g;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| bin-log.000001 | 154 | | | |
+----------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

5.手动同步主数据到从服务器上,并确保统一,全新数据库可直接备份,已有大量数据的可能要加读锁了最好还是挑个夜深人静,业务少的时间段;
利用mysqlpump,mysqldump,xtrabackup.sqlyog都可以. 
这里用Windows环境下的sqlyog:
a.选中要备份的数据库,右键>备份/导出>备份数据库,转储为sql文件>保存
b.在目标数据库:新建一个数据库,右键>导入>选择刚才备份的sql文件>确认.

6.mysql> change master to master_host='192.168.61.130', master_port=3306, master_user='copy',master_password=’123456’,master_log_file='bin-log.000001', master_log_pos=154,master_connect_retry=30;

7.测试
A.在主mysql 新建一个数据库和新建一个用户:
mysql>create database JBB;
mysql>create user JBB;
B.在从Mysql上查询,看JBB数据库和JBB用户是否已经同步到位:
mysql> show databases;
+-----------+
| user |
+-----------+
| JBB |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)

mysql> select user from mysql.user;
+-----------+
| user |
+-----------+
| JBB |
| mysql.sys |
| root |
+-----------+
3 rows in set (0.00 sec)

,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值