下载安装包
下载链接
https://dev.mysql.com/downloads/mysql/
选择 Linux-Generic All
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
解压移动
tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.18-linux-glibc2.12-x86_64 /opt/data/mysql
创建mysql实例用户及文件
useradd mysql // 创建用户
mkdir -p /opt/data/mysql_8_{3306,3307} // 创建文件
chown root.mysql -R /opt/data/mysql // 修改mysql目录的属组及用户
chown mysql.mysql -R /opt/data/ // 修改专用目录的属主及属组
配置MySQL的配置文件/etc/my.cnf:
[mysqld_multi]
mysqld = /opt/data/mysql/bin/mysqld
mysqladmin = /opt/data/mysql/bin/mysqladmin
log = /mysqllog/mysql_multi.log
[mysqld1]
datadir = /opt/data/mysql_8_3306/data //设置数据目录
socket = /opt/data/mysql_8_3306/mysql.sock //设置sock文件存放路径
port = 3306 //设置监听开放端口
user = mysql //设置运行用户
performance_schema = off //关闭监控
innodb_buffer_pool_size = 32M //设置innodb 缓存大小
bind_address = 0.0.0.0 //设置监听IP地址
skip-name-resolve = 0 //关闭DNS反向解析
[mysqld2]
datadir = /opt/data/mysql_8_3307/data
socket = /opt/data/mysql_8_3307/mysql.sock
port = 3307
user = mysql
performance_schema = off
innodb_buffer_pool_size = 32M
bind_address = 0.0.0.0
skip-name-resolve = 0
初始化各个实例
初始化完后会在日志中生成密码,记得保存,一会要用。
/opt/data/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/data/mysql --datadir=/opt/data/mysql_8_3306/data
密码: QKdoottea0#u
/opt/data/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/data/mysql --datadir=/opt/data/mysql_8_3307/data
密码: %jDh<a>Ks9eI
开启各实例的SSL连接
/opt/data/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/opt/data/mysql --datadir=/opt/data/mysql_8_3306/data
/opt/data/mysql/bin/mysql_ssl_rsa_setup --user=mysql --basedir=/opt/data/mysql --datadir=/opt/data/mysql_8_3307/data
复制多实例脚本到服务管理目录下
cp /opt/data/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi
chmod +x /etc/init.d/mysqld_multi
修改/etc/init.d/mysqld_multi配置为自己的路径
basedir=/opt/data/mysql
bindir=/opt/data/mysql/bin
加入service服务管理
chkconfig –add mysqld_multi
查看多个实例状态:mysqld_multi report
启动各个实例 : mysqld_multi start
添加环境变量
在文件最后面添加内容:sudo vim /etc/profile
## SETUP MYSQL’S PATH
export MYSQL_HOME=/opt/data/mysql
export PATH=${MYSQL_HOME}/bin:$PATH
登录mysql
/opt/data/mysql/bin/mysql -S /opt/data/mysql_8_3306/mysql.sock -p'QKdoottea0#u'
/opt/data/mysql/bin/mysql -S /opt/data/mysql_8_3307/mysql.sock -p'%jDh<a>Ks9eI'
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
使修改生效
flush privileges;