mysqld_multi 的使用方法:

官方文档:https://dev.mysql.com/doc/refman/5.7/en/mysqld-multi.html   【文档有些问题,按照它的这个配置,mysqld_multi无法关闭实例】

mysqld_multi无法关闭实例的解决方法:

https://bugs.mysql.com/bug.php?id=77227

I have the same problem. After adding some traces in mysqld_multi, I have found the problem : since 5.6.25, my_print_defaults no longer returns password in readable form (we have to use the "--show" option to obtain it). mysqld_multi call  my_print_default to obtain the user and password to use with mysqladmin.

Also, to be able to stop instances with mysqld_multi, I have made a modification in the "defaults_for_group" function of mysqld_multi. I have changed the following line :

my $com= join ' ', 'my_print_defaults', @defaults_options, $group;

with :

my $com= join ' ', 'my_print_defaults -s', @defaults_options, $group;

直接贴操作笔记:mkdir /data/mysql

cd /data/mysql

mkdir 3306/{data,tmp} -pv

mkdir 3307/{data,tmp} -pv

/etc/my.cnf 配置文件:[client]

port            = 3306

socket          = /tmp/mysql.sock

user = root

[mysql]

no-auto-rehash

#safe-updates

prompt="[\\d] > "

[mysqld_multi]

mysqld     = /usr/local/mysql/bin/mysqld_safe

mysqladmin = /usr/local/mysql/bin/mysqladmin

log = /var/log/mysqld_multi.log

user       = multi_admin

password   = 123456

[mysqld]

character-set-server = utf8

default_storage_engine = InnoDB

transaction_isolation  = READ-COMMITTED

skip_name_resolve = ON

skip_external_locking

max_connections = 1500

sort_buffer_size = 512K

read_buffer_size = 512K

read_rnd_buffer_size = 512K

join_buffer_size = 256K

thread_stack = 256K

binlog_cache_size = 2M

connect_timeout = 20

wait_timeout = 14400

interactive_timeout = 14400

net_write_timeout = 180

lock_wait_timeout = 120

thread_cache_size = 64

open_files_limit = 65535

innodb_open_files = 4000

skip-innodb_adaptive_hash_index

query_cache_type = OFF

query_cache_size = 0

expire_logs_days = 5

sync_binlog = 1

innodb_support_xa = 1

relay-log-purge=1

relay_log_info_repository = TABLE

relay_log_recovery = ON

master_info_repository = TABLE

slave_net_timeout = 30

skip-slave-start = ON

log_slave_updates = ON

innodb_use_native_aio = ON

innodb_file_per_table  = ON

innodb_flush_log_at_trx_commit = 1

innodb_flush_method=O_DIRECT

innodb_max_dirty_pages_pct    = 50

innodb_lock_wait_timeout      = 50

innodb_stats_persistent = ON

innodb_stats_persistent_sample_pages = 64

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld3306]

socket     = /tmp/mysql.sock3306

port       = 3306

pid-file   = /data/mysql/3306/data/mysql.pid3306

datadir    = /data/mysql/3306/data

tmpdir     = /data/mysql/3306/tmp/

user       = root

server-id = 111

log-bin = mysql-bin

binlog_format = ROW

max_binlog_size = 256M

log_bin_trust_function_creators = ON

[mysqld3307]

socket     = /tmp/mysql.sock3307

port       = 3307

pid-file   = /data/mysql/3307/data/mysql.pid3307

datadir    = /data/mysql/3307/data

tmpdir     = /data/mysql/3307/tmp/

user       = root

server-id = 222

log-bin = mysql-bin

binlog_format = ROW

max_binlog_size = 256M

log_bin_trust_function_creators = ON

初始化实例的时候,我们先造2个模板文件/data/3307.cnf /data/3306.cnf 写上3307和3306实例需要的配置文件(或者不要模板文件直接初始化也行,但是不建议这么做),然后初始化:

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/data/3307.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3307/data

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/data/3306.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/3306/data

启动2个实例mysqld_multi report

mysqld_multi start 3307

mysqld_multi start 3306

# 创建mysql关闭用的账号:mysql -uroot -S  /tmp/mysql.sock3307

CREATE USER 'multi_admin'@'localhost' IDENTIFIED BY '123456';

GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost';

mysql -uroot -S  /tmp/mysql.sock3306

CREATE USER 'multi_admin'@'localhost' IDENTIFIED BY '123456';

GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost';

操作至此,我们mysqld_multi能启动mysql实例了,但是却无法关闭实例。原因如下:

# 输出明细(注意对比下面2个的输出结果)# my_print_defaults mysqld_multi mysql3307

--mysqld=/usr/local/mysql/bin/mysqld_safe

--mysqladmin=/usr/local/mysql/bin/mysqladmin

--log=/var/log/mysql/mysqld_multi.log

--user=multi_admin

--password=*****

#  my_print_defaults mysqld_multi mysql3307 -s

--mysqld=/usr/local/mysql/bin/mysqld_safe

--mysqladmin=/usr/local/mysql/bin/mysqladmin

--log=/var/log/mysql/mysqld_multi.log

--user=multi_admin

--password=123456       ---- 可看到这里密码能显示出来了

vim /usr/local/mysql/bin/mysqld_multi   +216   , 在my_print_defaults 后面加一个 -s 然后保存退出。

my $com= join ' ', 'my_print_defaults -s',  @defaults_options, $group;

然后, 执行下:

mysqld_multi stop 3307

mysqld_multi report

可以看到3307实例已经关闭了。

同样的方法,我们还可以启停其他的实例。

multi mysql_mysqld_multi 的使用方法相关推荐

  1. linux libcurl 库使用方法

    一.ibcurl简介 作为是一个多协议的便于客户端使用的URL传输库,基于C语言,提供C语言的API接口,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, I ...

  2. multi task训练torch_采用single task模型蒸馏到Multi-Task Networks

    论文地址. 这篇论文主要研究利用各个single task model来分别作为teacher model,用knowledge distillation的方法指导一个multi task model ...

  3. mongodb服务器怎么修改,MongoDB修改数据的2种方法

    在MongoDB中,db.collection.ipdate()和db.collection.save()方法都可以修改集合中已存在的文档.db.collection.update()方法对修改提供额 ...

  4. MongoDB:快速入门,掌握这些刚刚好!

    虽说现在关系型数据库还是主流,但是面对某些需求的时候,需要非关系型数据库来补充它,学习一个主流的NoSQL数据库还是很有必要的.MongoDB是一个功能丰富的NoSQL数据库,本文整理了它最常用的部分 ...

  5. mongodb 安装包_MongoDB快速入门,掌握这些刚刚好!

    虽说现在关系型数据库还是主流,但是面对某些需求的时候,需要非关系型数据库来补充它,学习一个主流的NoSQL数据库还是很有必要的.MongoDB是一个功能丰富的NoSQL数据库,本文整理了它最常用的部分 ...

  6. spring boot 事务_Redis 事务在 SpringBoot 中的应用

    环境信息 JDK 版本信息 <properties><java.version>1.8</java.version> </properties> Spr ...

  7. Game101课程笔记_lecture06_光栅化2

    Game101课程笔记_lecture06_光栅化2 1 Antialiasing 反走样 1 采样理论 1 Artifacts:错误,瑕疵.(in Graphics) 2 antialiasing ...

  8. 清华张钹院士专刊文章:迈向第三代人工智能(全文收录)

    来源:清华大学人工智能研究院 作者:张钹.朱军.苏航 人工智能(ArtificialIntelligence,简称 AI)在 60 多年的发展历史中,一直存在两个相互竞争的范式,即符号主义与连接主义( ...

  9. 【张钹院士 | 大师谈AI】迈向第三代人工智能「AI核心算法」

    关注:决策智能与机器学习,深耕AI脱水干货 作者:张钹, 朱军, 苏航  报道:中国科学杂志社 如需转载,请联系作者 摘 要 人工智能 (artificial intelligence, AI) 自1 ...

最新文章

  1. php imagecopy 用法,php使用imagecopymerge()函数创建半透明水印
  2. 3.4.3 嵌套查询
  3. 各种格式的视频播放的代码(wma格式)
  4. Bitcoin 中的挖矿算法(6) 难度调整
  5. 在Spring + Hibernate中使用二级缓存配置步骤
  6. 在外卖市场造一个拼多多
  7. 小米8劲敌来了!同是骁龙845,它降价幅度更大
  8. 锁失效_关于bigtable中chubby锁失效时的一点思考
  9. 神秘邻居把我的信息卖给了诈骗团伙
  10. 杜克大学中国女博士7年奋斗历程
  11. 关于c++16进制字符串与ASCII字符串的相互转换
  12. 天然气门站监控摄像头如何布置_监控摄像头安装布线技巧
  13. A STRIP OF LAND POJ - 1156 (单调队列)
  14. 构建神经网络- 手写字体识别案例
  15. android8.0 桌面图标适配
  16. 华为苏箐被曝转投大众汽车:最狂智能车高管,因抨击特斯拉丢工作,任正非亲自签发罢免令...
  17. 速腾聚创16线激光雷达rslidar-16的ros驱动安装与rviz点云显示
  18. 高中科幻作文关于计算机,高中科幻作文(精选5篇)
  19. R902520808、AA10VSO140DRS/32R-VPB22U00E液压变量柱塞泵
  20. 调用百度人体分析api 实现人体分析

热门文章

  1. sql server management studio 快速折叠object explorer中的instance
  2. 数据同步 rsync+notify架构
  3. SDL 库 无法解析的外部符号 __imp__fprintf
  4. c# 流,字节数组及字符串之间的转换
  5. 要回家了,想到以后..
  6. 配置 --- vscode自定义代码段Snippets
  7. Java 的工厂方法及代理模式
  8. 1.App瘦身经验总结
  9. myBatis xml if、where、if-else?、foreach 心得
  10. 使用Notepad++开发C#,一个复杂点的csscript脚本