暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql多实例安装

原创 .ing 2022-05-30
462

复制粘贴安装多实例

软件安装目录/home/mysql_8022/soft
数据目录/home/mysql_8022/mysql_330x

【创建两个多实例的数据目录】
mkdir -p /home/mysql_8022/mysql_3306
mkdir -p /home/mysql_8022/mysql_3307

【上传安装文件】
cd /home/mysql_8022/
tar -xvf mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.22-linux-glibc2.12-x86_64 soft

【创建用户和组】
groupadd mysql
useradd -g mysql -r -s /sbin/nologin -M mysql
chown -R mysql:mysql /home/mysql_8022/

【配置文件】
vi my.cnf
[mysqld_multi]
mysqld = /home/mysql_8022/soft/bin/mysqld
mysqladmin = /home/mysql_8022/soft/bin/mysqladmin
user = username
pass = password
log = /home/mysql_8022/mysqld_multi.log
[mysqld1]
user=mysql
basedir=/home/mysql_8022/soft
port=3306
datadir=/home/mysql_8022/mysql_3306
socket=/home/mysql_8022/mysql_3306/mysql.sock
log-error=/home/mysql_8022/mysql_3306/mysqld.log
pid-file=/home/mysql_8022/mysql_3306/mysqld.pid
server_id=6
[mysqld2]
user=mysql
basedir=/home/mysql_8022/soft
port=3307
datadir=/home/mysql_8022/mysql_3307
socket=/home/mysql_8022/mysql_3307/mysql.sock
log-error=/home/mysql_8022/mysql_3307/mysqld.log
pid-file=/home/mysql_8022/mysql_3307/mysqld.pid
server_id=7

【配置环境变量,可直接引用mysql命令】

cd
vi .bash_profile

增加    export PATH=/home/mysql_8022/soft/bin:$PATH

source .bash_profile

【初始化】
mysqld --defaults-file=/home/mysql_8022/my.cnf --user=mysql --initialize-insecure --datadir=/home/mysql_8022/mysql_3306 --basedir=/home/mysql_8022/soft
mysqld --defaults-file=/home/mysql_8022/my.cnf --user=mysql --initialize-insecure --datadir=/home/mysql_8022/mysql_3307 --basedir=/home/mysql_8022/soft

【开启实例】
mysqld_multi --defaults-extra-file=/home/mysql_8022/my.cnf --log=/home/mysql_8022/mysqld_multi.log --user=mysql start 1
mysqld_multi --defaults-extra-file=/home/mysql_8022/my.cnf --log=/home/mysql_8022/mysqld_multi.log --user=mysql start 2

【查看实例开启状态】
mysqld_multi --defaults-extra-file=/home/mysql_8022/my.cnf report

【关闭实例】
mysqld_multi --defaults-extra-file=/home/mysql_8022/my.cnf --log=/home/mysql_8022/mysqld_multi.log stop 1
mysqld_multi --defaults-extra-file=/home/mysql_8022/my.cnf --log=/home/mysql_8022/mysqld_multi.log stop 2

【登录mysql数据库,修改密码】
mysql -uroot -p -P3306 -h 127.0.0.1 或者 mysql -uroot -p -S /home/mysql_8022/mysql_3306/mysql.sock
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql -uroot -p -P3307 -h 127.0.0.1 或者 mysql -uroot -p -S /home/mysql_8022/mysql_3307/mysql.sock
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234567';

【总结】

1.使用mysqld_multi关闭多实例数据库目前来看比较麻烦,需要在my.cnf文件的[mysqld_multi]模块里面配置用户密码,并且各个数据库的用户密码都需要相同,否则无法关闭。


2.mysqld_multi是调用mysqladmin来关闭数据库的


3.开启关闭实例时,若不指明实例,即关闭所有实例


4.server_id不能一样

最后修改时间:2022-05-31 09:10:24
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论