MYSQL 复制配置步骤


一、配置主服务器 (本地镜像服务器)
1、修改 /etc/my.cnf文件,添加如下内容:

server-id=1
# Enable binary logging. This is required for acting as a MASTER in a
# replication configuration. You also need the binary log if you need
# the ability to do point in time recovery from your latest backup.
log-bin=-bin

# binary logging format – mixed recommended
binlog_format=mixed
# For the greatest possible durability and consistency in a replication
# setup using InnoDB with transactions, you should use innodb_flush_log_at_trx_commit=1
# and sync_binlog=1 in the master my.cnf file.
innodb_flush_log_at_trx_commit=1
sync_binlog=1

2、重新启动 service restart
3、添加复制用户
>GRANT REPLICATION SLAVE ON *.* TO ‘zjbrepl'@'%' IDENTIFIED BY ‘qwe123!@#';

二、配置从服务器(远程数据中心服务器)

1、修改 /etc/my.cnf文件,添加如下内容:
server-id=2
2、重新启动MYSQL service mysql restart

三、主从初始同步 并开启复制

1、获得主(本地镜像服务器)开始复制的日志起点
在主数据库服务器以mysql 超级用户登录到MYSQL, 在mysql提示符下执行:
FLUSH TABLES WITH READ LOCK;

SHOW MASTER STATUS;
可能的显示如下:
mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000003 | 2040 | | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
记录下上面的FILE 和 Position ,该例子中分别是mysql-bin.000003和2040,后面从服务器注册主服务器时要用到。
(不要退出MYSQL)
2、备份主数据库(本地镜像服务器)
2.1 关闭本地镜像服务器的mysql数据库,参考命令:mysqladmin -p shutdown

2.2 执行命令 ps -ef|grep mysql 确认没有mysql的进程后(如果有则说明mysql没有关掉或正在运行,必须确认mysql关掉后再执行后续操作)将mysql 目录压缩打包 (注意mysql目录下有许多mysql-bin.0000xx的文件,只保留后缀最大的2、3个文件,在打包压缩之前其他文件可以删掉,可以缩小文件包得大小,减少上传)。
参考命令 tar -czvf mysql.tar mysql

3、关闭远程数据中心的mysql数据库 参考命令 :service mysql stop

4、将步骤2的备份文件mysql.tar 复制到从数据库服务器(远程数据中心)/data目录 ,参考命令:scp mysql.tar 数据中心IP:/data/
删除数据中心 /data/mysql目录,参考命令:rm -rf /data/mysql
解包本地镜像服务器上传的文件mysql.tar,解包参考命令: tar -xzvf mysql.tar
5、启动远程数据中心的mysql数据库,参考命令: service mysql start

6、 在从数据库服务器(远程数据中心) 上以mysql 超级用户登录到MYSQL, 在mysql提示符下执行如下命令注册主服务器:
change master to MASTER_HOST='xxxx', MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='yyyy', MASTER_LOG_POS=zzzz;
# 例如: change master to MASTER_HOST='10.10.20.5′, MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='mysql-bin.000003′, MASTER_LOG_POS=2040;

注: xxxx 为本地镜像服务器的地址 yyyy为步骤1得到File 值,此例为mysql-bin.000003,zzzz为为步骤1得到Position 值,此例为2040
7、 在从数据库服务器(远程数据中心) 上以mysql 超级用户登录到MYSQL, 在mysql提示符下执行如下命令启动复制服务:
START SLAVE;
8、 在从数据库服务器(远程数据中心) 上以mysql 超级用户登录到MYSQL, 在mysql提示符下执行如下命令查看复制服务的状态:
show slave statusG;

Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.20.5
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 2040
Relay_Log_File: zjbtest-relay-bin.000009
Relay_Log_Pos: 253
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:

西宁
mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000036 | 107 | | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

change master to MASTER_HOST='16.45.0.1′, MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='mysql-bin.000036′, MASTER_LOG_POS=107;

石家庄

mysql> show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000082 | 107 | | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

mysql>

change master to MASTER_HOST='16.21.0.2′, MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='mysql-bin.000082′, MASTER_LOG_POS=107;

济南 2011.10.03 16:45
mysql> SHOW MASTER STATUS;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000078 | 409 | | |
+——————+———-+————–+——————+
1 row in set (0.00 sec)

change master to MASTER_HOST='16.32.0.1′, MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='mysql-bin.000078′, MASTER_LOG_POS=409;

哈尔滨
mysql> show master status;
+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+

| mysql-bin.000231 | 405 | | |
+——————+———-+————–+——————+
1 row in set (0.01 sec)

change master to MASTER_HOST='16.26.0.3′, MASTER_USER='zjbrepl', MASTER_PASSWORD='qwe123!@#', MASTER_LOG_FILE='mysql-bin.000231′, MASTER_LOG_POS=405;

乌鲁木齐: 2011-10-27

+——————+———–+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———–+————–+——————+
| mysql-bin.000168 | 827712149 | WLMQZFMYDB | |
+——————+———–+————–+——————+
1 row in set (0.01 sec)

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《MYSQL 复制配置步骤
本文地址:https://www.zhiletu.com/archives-341.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏


下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微