设置MySQL主从同步

1. 配置主服务器

1.1 编辑my.cnf文件,配置主服务器ID。

[mysqld]
log-bin=mysql-bin
server-id=1
relay-log = relay-bin
relay-log-index = relay-bin.index

1.2 重启主服务器。

 

2. 配置从服务器

2.1 编辑my.cnf文件,配置从服务器ID。

[mysqld]
server-id=2

2.2 重启从服务器。

 

3. 创建同步帐号

3.1 创建复制用户。用户名和密码将会明文存储在同步信息文件master.info中。

mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

3.2 授权复制用户

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

 

4. 获取binlog同步点信息

4.1 暂停主服务器的写入。在对主服务器加锁后,当前会话不能退出,否则会自动释放锁。

mysql> FLUSH TABLES WITH READ LOCK;

4.2 获取binlog文件名和偏移量。

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

 

5. 创建主服务器快照

5.1 快照需要排除的文件列表。

  • mysql库相关的文件
  • master.info信息文件
  • 主服务器产生的binlog文件
  • 其他中转日志文件

5.2 确保获取了同步点信息。

5.3 关闭主服务器。

shell> mysqladmin shutdown

5.4 同步主服务器数据

shell> rsync -av mysql/ work@lab08:/home/work/local/mysql/ --exclude=var/mysql-bin.* --exclude=var/slow.log 

5.5 启动主服务器。

 

6. 在从服务器设置同步信息

6.1 命令行设置

CHANGE MASTER TO
MASTER_HOST='master_host_name',
master_host_name
    ->     MASTER_PORT=1127,
MASTER_USER='replication_user_name',
replication_user_name
MASTER_PASSWORD='replication_password',
replication_password
MASTER_LOG_FILE='recorded_log_file_name',
recorded_log_file_name
MASTER_LOG_POS=recorded_log_position;
recorded_log_position

6.2 启动slave同步

mysql> SLAVE START\G;

6.3 查看slave同步状态

mysql> SHOW SLAVE STAUTS\G;

 

如果观察到以下都为Yes,表明开始正常同步了。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

 7 设置从库只读

有两种方式设置从库只读,修改配置或设置全局变量。

7.1 修改my.cnf文件

  #从库是否只读,0表示可读写,1表示只读  

  read-only=1  

7.2 动态设置参数

  set global read_only=true;

 

 

参考手册

http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html



posted on   SYSTEM ADMINISTRATION  阅读(363)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
历史上的今天:
2009-08-01 路由器与集线器、交换机的根本区别
2009-08-01 交换机 路由器和集线器的区别
2009-08-01 交换机、集线器、路由器的功能介绍
2009-08-01 集线器(HUB)、交换机(Switch)、路由器(Router)
2009-08-01 服务器如何识别路由器下的多台机器?
2009-08-01 交换机和路由器
2009-08-01 TCP/IP协议
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示