【部署背景】
公司测试环境需求多个数据库实例,但是只分配一台MySQL机器,所以进行多实例部署。
【部署搭建】
- 创建软件包路径
- 下载安装包
cd /data/soft/package wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
- 查找系统自带的 mysql,并且移除
rpm -qa |grep mysql |xargs -I '{}' rpm -e {} --nodeps
- 创建 mysql 实例运行用户
useradd mysql
- 解压 mysql 的压缩包到 /data/server 目录
tar xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /data/server/ cd /data/server
mv mysql-5.7.30-linux-glibc2.12-x86_64/ mysql_65001
- 创建第一个数据库实例数据目录,服务目录,日志目录等,并且赋予mysql权限
mkdir /data/dbdata/65001 -p mkdir /data/server/mysql_65001/etc -p mkdir /data/server/mysql_65001/logs -p mkdir /data/server/mysql_65001/mysql_bin/ -p chown -R mysql:mysql /data/server /data/dbdata
- 初始化,这里要记住初始化密码
cd /data/server/mysql_65001
bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql_4001 --datadir=/data/dbdata/65001
- 创建了在非加密连接上使用SSL和RSA进行安全传输所需要的SSL证书和key
cd /data/server/mysql_65001 bin/mysql_ssl_rsa_setup --datadir=/data/dbdata/65001/
- 更改mysql配置文件my.cnf
- 增加Mysql的错误日志文件
touch /data/server/mysql_65001/logs/mysql_65001.err
- 启动MySQL
cd /data/server/mysql_65001
chown -R mysql:mysql /data/server /data/dbdata ./bin/mysqld_safe --defaults-file=/data/server/mysql_65001/etc/my.cnf --user=mysql &
netstat -anpt |grep 65001
- 更改登录密码,并开启root用户远程访问
./bin/mysql -h127.0.0.1 -P65001 -p <初始化的密码>
SET PASSWORD FOR 'root'@localhost=PASSWORD('新密码');
update mysql.user set host = '%' where user = 'root';
flush privileges;
- 添加系统路径
echo "export PATH=/data/server/mysql_65001/bin:$PATH" >>/etc/profile source /etc/profile
- 第二个以后的实例创建步骤和以上一致即可;服务目录自行更改,比如第二个实例目录如下:
/data/server/mysql_65002 /data/dbdata/65002 /data/server/mysql_65002/etc /data/server/mysql_65002/logs /data/server/mysql_65002/mysql_bin/
/data/server/mysql_65002/logs/mysql_65002.err