centos7环境搭建一台mysql服务器启动多个端口

在一台服务器上启动多个mysql实例,分别用不同的端口号,因centos7版本安装mysql5.7后不存在mysqld_multi 、mysqld_safe等命令,做踩坑总结

Mysql多实例实现的3种方式

1、基于多配置文件

通过使用多个配置文件来启动不同的进程,以此来实现多实例。

优点:逻辑简单,配置简单

缺点:管理起来不方便

2、基于mysqld_multi

通过官方自带的 mysqld_multi 工具,使用单独配置文件来实现多实例

优点: 便于集中管理管理

缺点: 不方便针对每个实例配置进行定制

3、基于IM

使用 MySQL 实例管理器(MYSQLMANAGER),这个方法好像比较好不过也有点复杂

优点:便于集中管理

缺点:耦合度高。IM一挂,实例全挂

不方便针对每个实例配置进行定制

本文采用第一种基于多种配置文件方式

1 创建并初始化数据目录(data为新建目录,可在任意路径创建)

1 mkdir -p /data/mysql/{3307,3308}

2 chown mysql:mysql /data/mysql/{3307,3308}

2 复制数据库配置文件

1 cp /etc/my.cnf  /data/mysql/3308.cnf

2 vim /data/mysql/3308.cnf

3 编辑3308.cnf文件内容

[mysqld]

port=3308

datadir=/data/mysql/3308/

socket=/tmp/mysql3308.sock

symbolic-links=0

 

[mysqld_safe]

log-error=/data/mysql/3308.log

pid-file=/usr/local/mysql/data/3308.pid

 

[client]

port=3308

socket=/tmp/mysql3308.sock

4 初始化数据库

mysqld --defaults-file=/data/mysql/3308.cnf --initialize-insecure --user=mysql

5 重复第2、3、4步骤,创建3307端口号

6 启动3308实例

mysqld --defaults-extra-file=/data/mysql/3308.cnf --datadir=/data/mysql/3308/ --user=mysql &

7 连接3308实例( 到这一步数据库实例就创建成功并能够登录了 )

mysql -S /tmp/mysql3308.sock -P 3308

8 修改密码

mysqladmin -uroot password '123456' -S /tmp/mysql3308.sock

9 用密码登录

 mysql -u root -p123456 -S /tmp/mysql3308.sock

10 给账户授权,为了能用navicat等客户端登录

GRANT ALL ON *.* to root@'%' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

补充操作

netstat -lnpt | grep -E "3306|3307|3308"    在第六步启动后可查看相应端口号状态

kill -9 pid      --用来关闭某进程

猜你喜欢

转载自www.cnblogs.com/cs-forget/p/11985054.html