ubuntu mysql 5.7 多实例配置

备份数据库

先把数据库导出,
然后把原有的数据目录改名:

mv /var/lib/mysql /var/lib/mysql.bak

准备数据目录和配置目录

注意:系统默认的配置文件要删除。

3306端口实例:

mkdir -p /data/mysql/3306
mkdir -p /data/mysql/conf
mv /etc/mysql/mysql.conf.d/mysqld.cnf /data/mysql/3306.cnf

chown -R mysql:mysql /data/mysql
find /data/mysql/ -type d | xargs chmod 700
find /data/mysql/ -type f | xargs chmod 640

修改3306实例的配置文件,
3307端口实例:

mkdir -p /data/mysql/3307 
mkdir -p /data/mysql/conf  
cp /data/mysql/conf/3306.cnf /data/mysql/conf/3307.cnf

chown -R mysql:mysql /data/mysql
find /data/mysql/ -type d | xargs chmod 700
find /data/mysql/ -type f | xargs chmod 640 

修改3307实例的配置文件,
若还有多的端口实例,参考3306和3307的配置过程。

初始化数据库实例

mysqld --defaults-file=/data/mysql/conf/3307.cnf --initialize --user=mysql --explicit_defaults_for_timestamp=1
mysqld --defaults-file=/data/mysql/conf/3306.cnf --initialize --user=mysql --explicit_defaults_for_timestamp=1

配置apparmor

配置文件路径: /etc/apparmor.d/usr.sbin.mysqld,
在这里插入图片描述
配置完成以后注意重新启动apparmor:

service apparmor restart

初始化实例的密码

例如初始化3306实例的密码为: 12345678

mysqld_safe --defaults-file=/data/mysql/conf/3306.cnf --skip-grant-tables &
mysql -uroot -S /data/mysql/3306/mysqld.sock
mysql> use mysql;
....
mysql> update user set authentication_string=password('12345678');

设置完成以后,需要重新启动实例,然后在第一次登陆的时候执行如下命令:
在这里插入图片描述

停止实例

例如停止3306实例:

mysqladmin -uroot -p -S /data/mysql/3306/mysqld.sock shutdown

启动实例

例如启动3306实例:

注意:此时没有 --skip-grant-tables 参数了。

mysqld_safe --defaults-file=/data/mysql/conf/3306.cnf & 

配置允许远程连接

  1. 修改配置文件
    在这里插入图片描述
  2. 修改数据库配置
    在这里插入图片描述

恢复数据

将最开始备份的数据导入。

完成

至此,多实例配置已经完成。需要注意的是,多实例模式,mysql启动方式有所不同,不再是 "service mysql start/restart/stop"了。

  • 启动的时候,需要指定mysql实例的配置文件。
  • 停止的时候,需要指定该实例的mysqld.sock的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值