阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 下 MySQL 多实例配置

390次阅读
没有评论

共计 2560 个字符,预计需要花费 7 分钟才能阅读完成。

项目需求测试 MySQL 的并发性能,故而需要启动多个实例,即在一台机器上启动多个 MySQL 服务。只是一个简单需求,也折腾了好几天,本文做一个记录,也希望能帮助更多有此需求的人,节约时间和精力。

本文主要从以下几个方面展开:

  • 方法简介
  • 实验环境
  • MySQL 安装
  • MySQL 启动多实例
  • MySQL 初始化密码并登陆
  • MySQL 停止某端口服务

MySQL 官方说明文档地址(https://dev.mysql.com/doc/refman/5.7/en/multiple-servers.html)

方法简介

MySQL 启动多个实例实际上需要做的是设置 (启动 / 监听) 多个不同的端口、不同的 socket 文件、pid 文件及数据目录,为了排错方便,还需要加入 log 功能,即不同的 log 文件。

具体实现主要有以下两种方式:

(1) 使用 mysqld_multi 命令

只需一个配置文件,不同的配置由[mysqldN],其中 N 为标识号,来识别。具体实现可参见官网,本文不做详述。

(2) 使用 mysqld_safe 命令

需要多个不同的配置文件,差别在于章首所述,是本文要具体介绍的方法。

实验环境

  • Ubuntu16.04
  • Mysql5.7.17

MySQL 安装

原本在 ubuntu 中安装非常方便,使用 apt-get install mysql-server 即可。但是在实际操作中还是遇到一些小麻烦,所以也稍作说明。

先介绍一下使用 apt-get 命令安装后的文件位置:
主要配置文件:/etc/mysql/my.cnf,这是一个 global 文件,我们经常需要修改的在 /etc/mysql/mysql.conf.d/mysqld.cnf
默认数据文件目录:/var/lib/mysql,这个可以在配置文件中修改
安装位置:/usr/share/mysql

我在使用过程中将 ubuntu 从 14.04 升级到 16.04,而后再安装 Mysql 就失败了,报错大致为:[ERROR] key_buffer=16M unrecognize,google 了一堆都说修改配置文件 /etc/mysql/my.cnf,将 key_buffer 改为 key_buffer_size,这是 mysql5.7 版本升级后的修改,然而该配置文件中就是 key_buffer_size,让我不能理解,笨拙中又花费了好几个小时,我以为是卸载时没有清理干净,就疯狂卸载,却没有思考即便真的没有卸载干净,他到底读取的哪个配置文件呢?以后还是要冷静下来多思考才好啊。

这里先插播一下怎么干净的卸载吧!

   rm /var/lib/mysql/ -r
   rm /etc/mysql -r
   rm /usr/share/mysql -r
   apt-get autoremove mysql-server
   apt-get remove mysql-common
   dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P // 清理残留数据

回到主题,mysql 读取默认配置文件的顺序如下:
/etc/my.cnf
/etc/mysql/my.cnf
~/.my.cnf

So~ 让我们来看一下这个隐藏文件 ~/.my.cnf 吧,果不其然,里面的属性名称是错的,另外还需要注释掉myisam-recover = BACKUP,不开心搞了这么久。

MySQL 启动多个实例

主要分为一下几步:

1. 创建数据目录并修改权限

mkdir new_datadir
chown -R mysql:mysql new_datadir

2. 修改配置文件 – 以配置 3307 端口为例,默认为 3306

cp ~/.my.cnf /etc/mysql/my1.cnf
vim /etc/mysql/my1.cnf

修改主要如下:
注:socket、pid、log 文件都是在启动以后才生成的,并且 socket 和 pid 在启动时生成,stop 以后会自动删除。

port = 3307
socket = new_datadir/mysqld.sock
pid-file = new_datadir/mysqld.pid
datadir = new_datadir
log_error = new_datadir/error.log

3. 在 apparmor 中添加读写权限

vim /etc/apparmor.d/usr.sbin.mysqld
service apparmor reload

添加 datadir 的权限(原 datadir 为 /var/lib/mysql):

new_datadir/ r,
new_datadir/** rwk,

4. 初始化数据库

mysqld --initialize --datadir=new_datadir --user=mysql

会看到 new_datadir 下创建了很多 mysql 的信息文件,具体可参见 /var/lib/mysql 下,这一步是必须的!

5. 启动

注:shell 一直卡在那就说明启动了,可以 ctrl Z 进入后台运行。

mysqld_safe --defaults-file=/etc/mysql/my1.cnf

查看端口号,可以看到已被监听

netstat -nlt | grep 3307

到此启动完毕,其实操作很简单啊,不知道为啥耽误了这么久,我猜是配置哪些路径没有正确?反正经验保险起见,要设在数据目录下。

MySQL 初始化密码并登陆

1. 终止 mysql 服务

ps -ef | grep mysql
kill pid

2. 安全模式启动

mysqld_safe --defaults-file = /etc/mysql/my1.cnf --skip-grant-tables

3. 无密码 root 账号登陆

mysql -uroot -p // 不输密码,直接回车
mysql> use mysql;

4. 手动 update 修改密码

mysql> update user set authentication_string=password("123456") where user='root' and host='localhost';
mysql> flush privileges;
mysql> quit

5. 登陆

mysql -uroot -p -S /mnt/ramdisk/mysql1/mysqld.sock -P 3306

恩,登陆完成了。

MySQL 停止某端口服务

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140207.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2560字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7802850
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...