1.下载mysql8
2.解压mysql压缩包
tar -xfv mysql-8.0.20-linux-glibc2.12-x86_64.tar
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql
3.在mysql 目录创建创建数据文件存放路径
mkdir -p /mysql/{3306,3307,3308,3309}/data
chown -R mysql:mysql /mysql
5.在mysql8.0同级目录创建my.cnf文件,并添加数据
vim /etc/my.cnf
[mysqld]
user=mysql
basedir = /home/testMy/mysql8.0
[mysqld_multi]
mysqld=/home/testMy/mysql8.0/bin/mysqld_safe
mysqladmin=/home/testMy/mysql8.0/bin/mysqladmin
log=/home/testMy/mysql8.0/mysqld_multi.log
[mysqld3303]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/testMy/mysql8.0/3303/data
port=3303
user=mysql
server_id=3303
socket=/tmp/mysql_3303.sock
log-error = /home/testMy/mysql8.0/3303/error_3303.log
[mysqld3304]
mysqld=mysqld
mysqladmin=mysqladmin
datadir=/home/testMy/mysql8.0/3304/data
port=3304
user=mysql
server_id=3304
socket=/tmp/mysql_3304.sock
log-error=/home/testMy/mysql8.0/3304/error_3304.log
6.分别初始化3303和3304端口,注意,初始化实例的最后一行记录了root的初始密码
/home/testMy/mysql8.0/bin/mysqld --defaults-file=/home/testMy/mysql8.0/my.cnf --initialize --basedir=/home/testMy/mysql8.0 --datadir=/home/testMy/mysql8.0/3303/data
/home/testMy/mysql8.0/bin/mysqld --defaults-file=/home/testMy/mysql8.0/my.cnf --initialize --basedir=/home/testMy/mysql8.0 --datadir=/home/testMy/mysql8.0/3304/data
7.设置环境变量
添加了环境变量,操作系统才能够自己找到mysql、mysqld_multi等命令的位置
在/etc/profile 文件末尾添加 : export PATH=/usr/local/mysql/bin:$PATH
使配置文件生效:source /etc/profile
8.启动多实例:
mysqld_multi --defaults-extra-file=my.cnf --user=mysql start 3303,3304
9.验证
mysqld_multi --defaults-extra-file=my.cnf report
遇到的问题:
·数据库密码忘记后,重置密码和连接host未设置范围,解决方案:
https://blog.csdn.net/lhanson/article/details/107963679