配置单机启动多个mysql实例,运行 .mysqld_multi --defaults-extra-file=etcmysqld_multi.cnf start 2

配置单机启动多个mysql实例,运行 .mysqld_multi --defaults-extra-file=etcmysqld_multi.cnf start 2,第1张

你用root去启动了吧,加个参数把,--user=mysql

------------------------------------------------------------------

./mysqld_multi --user=mysql --defaults-extra-file=/etc/mysqld_multi.cnf start 2

1. mysqldump: 最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqldump ytt >/tmp/ytt.sql;

恢复也非常简单:mysql </tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2. mysqlpump:MySQL 5.7 GA 后推出的 mysqldump工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqldump 一样。

3. MySQL Shell UTIL 对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqldump/mysqlpump。

dump_instance/dumpInstance 用来多线程备份 MySQL 整个单机实例 dump_schemas/dumpSchemas 用来多线程备份 MySQL 单个数据库 load_dump/loadDump 用来多线程恢复之前两个工具导出的数据集文件

MySQL 默认是启用 innodb_use_native_aio,使用异步 IO *** 作,MySQL 启动时所需 aio slot 若超过系统当前 fs.aio-max-nr 设置,则无法启动报错 InnoDB: io_setup() failed with EAGAIN after 5 attempts.

通常在单机单实例环境下很少会遇到超出 aio-max-nr 的问题,若部署单机多实例,会大概率遇到此问题。我们来分析下该如何配置 fs.aio-max-nr 参数。关于 aio-nr 与 aio-max-nr

使用 strace 观测 io_setup 调用情况,

总共:4709 个 = 18 * 256 + 101

其分配 256 event 的也就是 InnoDB IO 线程。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8629997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存