centos7环境搭建一台mysql服务器启动多个端口
2024-08-31 13:40:14
在一台服务器上启动多个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/{,} 2 chown mysql:mysql /data/mysql/{,}
2 复制数据库配置文件
cp /etc/my.cnf /data/mysql/.cnf vim /data/mysql/.cnf
3 编辑3308.cnf文件内容
[mysqld] port= datadir=/data/mysql// socket=/tmp/mysql3308.sock symbolic-links= [mysqld_safe] log-error=/data/mysql/.log pid-file=/usr/local/mysql/data/.pid [client] port= socket=/tmp/mysql3308.sock
4 初始化数据库
mysqld --defaults-file=/data/mysql/.cnf --initialize-insecure --user=mysql
5 重复第2、3、4步骤,创建3307端口号
6 启动3308实例
mysqld --defaults-extra-file=/data/mysql/.cnf --datadir=/data/mysql// --user=mysql &
7 连接3308实例( 到这一步数据库实例就创建成功并能够登录了 )
mysql -S /tmp/mysql3308.sock -P
8 修改密码
mysqladmin -uroot password '' -S /tmp/mysql3308.sock
9 用密码登录
mysql -u root -p123456 -S /tmp/mysql3308.sock
10 给账户授权,为了能用navicat等客户端登录
GRANT ALL ON *.* to root@'%' IDENTIFIED BY ''; FLUSH PRIVILEGES;
补充操作
netstat -lnpt | grep -E "3306|3307|3308" 在第六步启动后可查看相应端口号状态 kill - pid --用来关闭某进程
最新文章
- [Egret]优雅的写http
- August 28th 2016 Week 36th Sunday
- phonegap3.0 simple
- 学军NOIP2016模拟赛1
- 【NOI2015】软件包管理器
- Linux(CentOS或RadHat)下MySQL源码安装
- 使用maven开发过程中,pom报的一些错的解决方法
- 为什么要初始化CSS?
- 用C#(.NET Core) 实现简单工厂和工厂方法模式
- Windows激活最高权限
- 尝试Java,从入门到Kotlin(上)
- Csrf_token ||| CSRF跨站请求伪造
- gcc:call to '__open_missing_mode' declared with attribute error
- Android: 网络随时需要在3G和Wifi切换,网络程序需要注意
- EasyUI学习总结(四)——parser源码分析
- kafka可视化工具kafka tools
- Math.abs(~2020) 按位取反后的绝对值是多少 2021, 按位取反后,比正数多1
- 报错,但不影响运行ERROR: JDWP Unable to get JNI 1.2 environment, jvm->;GetEnv() return code = -2
- bzoj2564集合的面积
- Apache Hive (四)Hive的连接3种连接方式