ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL高可用(三)搭建主备同步实战

2020-12-23 10:32:50  阅读:213  来源: 互联网

标签:主库 binlog slave MySQL 192.168 主备 mysql 从库 搭建


目标

掌握如何搭建一主一备的主备架构

实验环境

  • 系统:Ubuntu 18.04.1 LTS
  • MySQL版本:5.7.32
  • 主库IP:192.168.200.120
  • 备库IP:192.168.200.121

操作步骤

1.分别在两台服务器上安装MySQL

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

注:要求MySQL版本号一致

2.(主库)配置同步账号

创建数据库复制用户:

mysql> CREATE USER 'repl'@'192.168.200.121' IDENTIFIED BY '123456';

授权:

mysql> grant replication slave on *.* to 'repl'@'192.168.200.121';

3.(主库)修改/etc/my.cnf文件,注意确保:server-id 唯一

[mysqld]
bind-address = 192.168.200.120 //这里的IP地址必须是通过ipconfig查出来的IP
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
binlog_do_db = empw_test
#binlog_ignore_db = include_database_name
binlog_format = row # binlog的格式 row 具有 statement和mixed 不具备的优势 填写 row
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1 # 和 sync_binlog 组成双1 配置 保证数据的完整性

4.(主库)重启master端

service mysql restart

5.(主库)查询主库上当前的二进制日志名和偏移量值,记录下file跟position的值,待会从库要用

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 |      154 | empw_test    |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

6.(从库)修改/etc/my.cnf文件,注意确保:server-id 唯一

[mysqld]
server-id = 2

7.(从库)重启slave端

service mysql restart

8.(从库)对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置等

mysql> CHANGE MASTER TO MASTER_HOST='192.168.200.120',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=154;

9.(从库)启动slave线程

mysql> start slave;

10.主库跟从库分别检查状态

检查master的:

mysql> show processlist;
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
| Id | User | Host                  | db   | Command     | Time | State                                                         | Info             |
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
|  2 | root | localhost             | NULL | Query       |    0 | starting                                                      | show processlist |
|  3 | repl | 192.168.200.121:56822 | NULL | Binlog Dump |   12 | Master has sent all binlog to slave; waiting for more updates | NULL             |
+----+------+-----------------------+------+-------------+------+---------------------------------------------------------------+------------------+
2 rows in set (0.00 sec)

看到上面的Command: Binlog Dump说明配置成功!

检查slave的:

mysql> show slave status;

提示: Slave_IO_RunningSlave_SQL_Running 两个值为YES基本上成功了。

标签:主库,binlog,slave,MySQL,192.168,主备,mysql,从库,搭建
来源: https://www.cnblogs.com/liang24/p/14149431.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有