php mysql 多实例_mysql5.7.11的多实例配置

mysql5.7.11的多实例配置

Mysql通关很久终于到了第二阶段,是时候搞些有意思的东西了。

百度了下,多实例很多都是5.5的,而且5.7的讲得不详细不清楚,于是做个简单点的教程。PS:第一次用Markdown;为了省时间安装用的是rpm包;水平有限还望指正;不兼容Mysql5.5。

你将要看到的有:

配置Mysql多实例的准备

启动多个Mysql实例

连接Mysql

一些简单设置(可选)

Mysql的关闭

再增加一个Mysql实例

1. 配置Mysql多实例的准备1.1 创建文件目录

打算运行两个实例,一个占用3306端口,一个占用3307端口,下面简称3306,3307实例

mkdir -p /mysql_multi/{3306,3307}/data

由于是root创建的还要把权限更改下,这步先放一放留到2.1。

1.2 准备配置文件

vim编辑两个my.cnf配置文件,编辑完后可以按ZZ或者wq!直接保存退出:

简单来说就是1.端口不一样 2.目录路径不同

实例1的配置文件:

datadir=/mysql_multi/3306/data

socket=/mysql_multi/3306/mysql.sock

log-error=/mysql_multi/3306/mysqld.log

pid-file=/mysql_multi/3306/mysqld.pid

server-id=1

port=3306

实例2的配置文件:

datadir=/mysql_multi/3307/data

socket=/mysql_multi/3307/mysql.sock

log-error=/mysql_multi/3307/mysqld.log

pid-file=/mysql_multi/3307/mysqld.pid

server-id=2

port=3307

分别copy到/mysql_multi/3306和/mysql_multi/3307下

2. 启动多个Mysql实例2.1 初始化两个Mysql数据库

先改下目录的权限:

chown -R mysql:mysql /mysql_multi

现在是Mysql5.7,之前的5.5都没有这一步。

对于3306,执行:

mysqld --defaults-file=/mysql_multi/3306/my.cnf --initialize-insecure --user=mysql

解释:

--defaults-file=/mysql_multi/3306/my.cnf :指定启动的配置文件

--initialize-insecure :初始化数据库,加上-insecure不生成随机密码

(直接登陆,不加上-insecure会在mysqld.log生成密码,到时候要自己找 temporary password)

--user=mysql : 指定用户,这个没什么好说

3307的也一样:

mysqld --defaults-file=/mysql_multi/3307/my.cnf --initialize-insecure --user=mysql

要注意查看data目录下面有没有相关的数据库文件,如果有问题,要看下你的mysqld.log

2.2 启动实例

终于到启动实例的关键时刻

输入:

启动3306实例:mysqld --defaults-file=/mysql_multi/3306/my.cnf --user=mysql &

启动3307实例:mysqld --defaults-file=/mysql_multi/3307/my.cnf --user=mysql &

注意:最后面要加入 &让它运行在后台,不然打完按回车就"卡住"了

和刚刚差不多就是少了--initialize-insecure初始化数据库这一步,运行成不成功可以看下mysql.log或者

输入netstat -ntlp 查看下占用端口的进程(成功就可以看到两个mysqld进程,分别占用3306,3307端口)

3. 连接Mysql连接

连接3306:mysql -uroot -p -S /mysql_multi/3306/mysql.sock

提示输入密码,直接回车进入。

连接3307:mysql -uroot -p -S /mysql_multi/3307/mysql.sock

和上面是一样的

可以输入 system mysql -S /mysql_multi/3307/mysql.sock切换实例

4. 一些简单设置(可选)从管理角度来讲,应该要加个system的管理员用作远程管理

grant all privileges on *.* to system@'%' identified by '12345678' with grant option;

5. Mysql的关闭注意:一定要用mysqladmin关闭

mysqladmin -S /mysql_multi/3306/mysql.sock shutdown

mysqladmin -S /mysql_multi/3307/mysql.sock shutdown

6. 再增加一个Mysql实例1. 创建相关目录

mkdir -p /mysql_multi/3308/data

2.更改所属用户和所属组

chown -R mysql:mysql 3308

3.复制修改配置文件(不细说了)

4.初始化: mysqld --defaults-file=/mysql_multi/3308/my.cnf --initialize-insecure --user=mysql

5.启动:mysqld --defaults-file=/mysql_multi/3308/my.cnf --user=mysql &

完成~

最后再说两句:mysql5.7某个版本以后(百度说是5.7.9)找不到mysqld_safe了。

f68f2add0b68e4f9810432fce46917b7.png

相关标签:mysql

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值