- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考、使用。 本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:"mysql二进制安装包部署" 。
CREATE USER 'repl'@'10.19.238.241' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD by 'passwd';
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'10.19.238.241';
FLUSH PRIVILEGES;
vim /etc/my.cnf
# 配置server id,建议采用ip地址最后一段以便于区分
server_id = 240
log_bin = master-bin
binlog_format = ROW
# 作为从库时使用
relay_log = master-relay-bin
# 作为从库时,来自主库的更新操作是否写入日志,默认值为OFF,配置 on 时,其他节点以此节点做主库时才能进行同步
log_slave_updates = on
# 以下两个为可选选项,见字可知意
expire_logs_days = 7
max_binlog_size = 1G
# 设置系统库的日志不计入binlog
# 注:Binlog_Do_DB/Binlog_Ignore_DB 两个参数互斥,一般只选择其一设置,只能在启动命令行中或配置文件中设置
binlog_ignore_db = mysql
binlog_ignore_db = sys
binlog_ignore_db = information_schema
binlog_ignore_db = performance_schema
# 同步时忽略系统库,但 create user 时数据还是会同步的
replicate_ignore_db = mysql
replicate_ignore_db = sys
replicate_ignore_db = information_schema
replicate_ignore_db = performance_schema
# 同步时忽略系统库的表,这样在 create user 时也不会进行同步了
replicate_wild_ignore_table = mysql.%
replicate_wild_ignore_table = sys.%
replicate_wild_ignore_table = information_schema.%
replicate_wild_ignore_table = performance_schema.%
参见前文:"mysql二进制安装包部署" 。
vim /etc/my.cnf 同 master,只修改如下3项:
server_id = 25
log_bin = slave-bin
relay_log = slave-relay-bin
参见前文:"mysql二进制安装包部署" 。
show master status; 执行之后,可获取目前主库 binlog 使用的 File 及 Position 点,类似如下:
+-------------------+----------+--------------+-------------------------------------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+-------------------------------------------------+-------------------+
| master-bin.000007 | 157 | | mysql,sys,information_schema,performance_schema | |
+-------------------+----------+--------------+-------------------------------------------------+-------------------+
根据上一步获取到的信息(File 及 Position)配置从库的复制信息,在从库上执行如下命令 。
CHANGE MASTER TO MASTER_HOST='10.19.238.240',MASTER_PORT=3306,MASTER_USER='repl',MASTER_PASSWORD='passwd',MASTER_LOG_FILE='master-bin.000006',MASTER_LOG_POS=1195;
start slave,
show slave status \G 主要查看下面两个参数状态,只要都是yes,表示主从通信正常: Slave_IO_Running=Yes Slave_SQL_Running=Yes 。
start slave; stop slave,
在master上执行,作用: 删除binlog索引文件中列出的所有binlog文件 清空binlog索引文件 创建一个新的binlog文件 清空系统变量gtid_purged和gtid_executed 在MySQL 5.7.5 及后续版本中, RESET MASTER还会会清空 mysql.gtid_executed 数据表 。
在slave上执行,作用: 清除slave 复制时的master binlog的位置 清空master info, relay log info 删除所有的relay log文件,并创建一个新的relay log文件。 重置复制延迟(CHANGE MASTER TO 的 MASTER_DELAY参数指定的)为0 。
注: RESET SLAVE 不会改变 gtid_executed or gtid_purged. RESET SLAVE 不会改变复制连接使用的参数,例如 master host, master port, master user, or master password 如果要重置这些连接参数,需要使用命令: RESET SLAVE ALL 重置操作之后,就需要使用 CHANGE MASTER TO 重新指定复制连接参数.
如果出现同步失败,可以根据提示处理错误,处理完成后,需要刷新同步配置: 先停止同步 stop slave sql_thread; stop slave; 清理掉之前的配置,防止同步已经同步了的数据 reset slave all; 然后重新连接主库,进行同步.
停应用 ->停数据库(先备后主)-> 启数据库(先主后备)-> 启应用 。
1、关闭从库,在从库操作 a.先查看当前的主从同步状态 show slave status\G; 看是否双yes b.执行stop slave c.停止从库服务 d.查看是否还有mysql的进程ps -ef | grep mysql 。
2、关闭主库,在主库操作 a.停止主库服务 b.查看是否还有mysql的进程ps -ef | grep mysql 。
3、启动主库,在主库操作 a.启动主库服务 b.查看mysql的进程ps -ef | grep mysql 。
4、启动从库,在从库操作 a.启动从库服务 b.启动复制start slave; c.检查同步状态 show slave status\G; 是否双yes d.查看mysql的进程ps -ef | grep mysql 。
最后此篇关于【实操记录】MySQL主从配置的文章就讲到这里了,如果你想了解更多关于【实操记录】MySQL主从配置的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
摘要: 华为云DTSE技术布道师张天阳结合沙箱容器发展历程,介绍华为云多沙箱容器运行时 Kuasar 项目优势,开启多沙箱容器运行时上手实践体验。 本文分享自华为云社区《 理论+实
我是一名优秀的程序员,十分优秀!