博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MYSQL多实例配置与使用教程
阅读量:6950 次
发布时间:2019-06-27

本文共 2587 字,大约阅读时间需要 8 分钟。

原文

在实际的开发过程中,可能会需要在一台服务器上部署多个MYSQL实例,那建议使用MYSQL官方的解决方案 mysqld_multi

 1.修改my.cnf

 
如一个定义两个实例的参考配置:

 代码如下 复制代码

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = your_user
pass = your_password

[mysqld1]

datadir = /data/db/my1

#连接

port = 3306
socket = /tmp/mysql3306.sock

#binlog

log-bin=/data/db/mylog1/mysql-bin
binlog_format=mixed
binlog_cache_size = 32M
expire_logs_days = 30

[mysqld2]

datadir = /data/db/my2

#连接

port = 3307
socket = /tmp/mysql3307.sock

#binlog

log-bin=/data/db/mylog2/mysql-bin
binlog_format=mixed
binlog_cache_size = 32M
expire_logs_days = 3

 

2.创建数据目录

 代码如下 复制代码
mkdir -p /data/db/my21
mkdir -p /data/db/my2
chown mysql.mysql /data/db/my1 -R
chown mysql.mysql /data/db/my2 -R

3.初始化DB

 代码如下 复制代码

/usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my1/ -uroot (mysql_install_db也是MYSQL官方自带工具)

/usr/local/mysql/scripts/mysql_install_db --datadir=/data/db/my2/ -uroot
chown mysql.mysql /data/db/my1/ -R
chown mysql.mysql /data/db/my2/ -R

4. 安装工具

 代码如下 复制代码

cp /usr/local/mysql/bin/my_print_defaults /usr/bin/

cp /usr/local/mysql/bin/mysqld_multi /usr/bin/

5.创建、授权用户

 代码如下 复制代码

CREATE USER "your_user"@"192.168.1.%" IDENTIFIED BY 'your_password';

GRANT ALL PRIVILEGES ON *.* TO "your_user"@"192.168.1.%";
flush privileges;

至此,mysql多实例配置已经完毕。我们看到多个不同的MYSQL实例是共用my.cnf的。多实例命令行管理:

1.mysql启动

 代码如下 复制代码

mysqld_multi start 1 启动实例1

mysqld_multi start 1-2 启动实例1,2

2.mysql重启

 代码如下 复制代码

mysqld_multi restart 1 重启实例1

mysqld_multi restart 1-2 重启实例1,2

3.mysql关闭

 代码如下 复制代码

mysqld_multi stop 1 关闭实例1

mysqld_multi stop 1-2 关闭实例1,2

4.命令行登陆实例2

 代码如下 复制代码

mysql -u your_user -p your_password -P3307 -S /tmp/mysql3307.sock

后面附另一文章的

Mysqld_multi启动、关闭、状态检查

要想调用mysqld_multi,使用下面的语法:

shell> mysqld_multi [options] {start|stop|report} [GNR[,GNR] ...]

start、stop和report表示你想要执行的操作。你可以在单个服务器或多个服务器上执行指定的操作,取决于选项名后面的GNR 列。如果没有该列,mysqld_multi为选项文件中的所有服务器执行该操作。

每个GNR值代表一个选项组号或组号范围。GNR值应为选项文件中组名末尾的号。 例如,组[mysqld17]的GNR为17。要想指定组号的范围,用破折号间隔开第1个和最后1个号。GNR值10-13代表组[mysqld10]到[mysqld13]。可以在命令行中指定多个组或组范围,用逗号间隔开。GNR列不能有空格字符(空格或tab);空格字符后面的内容将被忽略掉。

该命令使用选项组[mysqld1]启动单个服务器:

 代码如下 复制代码

shell> /usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf start 1

该命令停止多个服务器,使用选项组[mysql8]和[mysqld10]至[mysqld13]:

 代码如下 复制代码

shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf stop 8,10-13

或者一下形式关闭单个服务器

 代码如下 复制代码

shell> mysqladmin -u root -S /tmp/mysql3306.sock shutdown

该命令查看多个服务器,使用选项组[mysql8]和[mysqld10]至[mysqld13]:

 代码如下 复制代码

shell>/usr/local/mysql/bin/mysqld_multi --defaults-extra-file=/etc/my.cnf report 8,10-13

 
你可能感兴趣的文章

转载地址:http://kthnl.baihongyu.com/

你可能感兴趣的文章
sql 2005 清除日志
查看>>
netbeans 快捷键
查看>>
C#事件-什么是事件
查看>>
微软职位内部推荐-Software Engineer II
查看>>
香农定律和奈奎斯特准则
查看>>
每秒处理3百万请求的Web集群搭建-用 LVS 搭建一个负载均衡集群
查看>>
js toggle事件
查看>>
WebViewJavascriptBridge
查看>>
js 返回并刷新
查看>>
append()与extend()
查看>>
ASPxGridview使用总结(DEVExpress)
查看>>
.NET设计模式(9):桥接模式(Bridge Pattern)
查看>>
极速理解设计模式系列:16.迭代器模式(Iterator Pattern)
查看>>
50个带给你灵感的基于文字的创新Logo设计 - 第一部分
查看>>
恢复右键菜单的“新建”选项
查看>>
Linux面试时遇到的问题
查看>>
【转载】浅谈C#中的延迟加载(1)——善用委托
查看>>
舒服的颜色1
查看>>
Apache HTTP Server 与 Tomcat 的三种连接方式
查看>>
WAMP Server 和IIS 7在Windows中同时运行,更改 Wampserver默认端口的解决方法
查看>>