复制粘贴安装多实例
软件安装目录/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不能一样




