01 MySQL 5.7 多实例单配置文件安装
1.创建mysql用户以及组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
2.创建Mysql数据目录
mkdir -p /data/mysql/3306
mkdir -p /data/mysql/3307
mkdir -p /data/mysql/3308
chown -R mysql.mysql /data/
3.创建mysql logs目录
mkdir -p /logs/mysql/3306
mkdir -p /logs/mysql/3307
mkdir -p /logs/mysql/3308
mkdir -p /var/run/mysqld
chown -R mysql.mysql /logs/
chown -R mysql.mysql /var/run/mysqld
4.解压Mysql安装包
tar xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /
cd /
mv mysql-5.7.26-linux-glibc2.12-x86_64/ mysql
chown -R mysql.mysql /mysql
5.将Mysql加入环境变量
6.初始化数据
cd /mysql/bin
./mysqld --initialize --user=mysql --basedir=/mysql --datadir=/data/mysql/3306 --explicit_defaults_for_timestamp
./mysqld --initialize --user=mysql --basedir=/mysql --datadir=/data/mysql/3307 --explicit_defaults_for_timestamp
./mysqld --initialize --user=mysql --basedir=/mysql --datadir=/data/mysql/3308 --explicit_defaults_for_timestamp5.执行mysql的initialize操作
[root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7 --datadir=/usr/local/mysql-5.7/data
100 200 300 400 500
100 200 300 400 500
2019-08-01T13:55:22.787470Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-08-01T13:55:22.841504Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-08-01T13:55:22.906139Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 01a884b0-b464-11e9-b874-080027452298.
2019-08-01T13:55:22.906920Z 0 [Warning] Gtid table is not ready to be used. Table ‘mysql.gtid_executed’ cannot be opened.
2019-08-01T13:55:22.908159Z 1 [Note] A temporary password is generated for root@localhost: ,Z+ia/QsQ1Mf初始化成功并输出登录密码
7.修改配置文件
[root@mysqlmulti run]# cat /etc/my.cnf
[mysqld_multi]
mysqld = /mysql/bin/mysqld_safe
mysqladmin = /mysql/bin/mysqladmin
[mysqld3306]
port = 3306
server_id = 3306
basedir =/mysql
datadir =/data/mysql/3306
log-bin=/data/mysql/3306/mysql-bin
socket =/tmp/mysql3306.sock
log-error =/logs/mysql/3306/mysqld3306.log
pid-file =/var/run/mysqld/mysqld3306.pid
[mysqld3307]
port = 3307
server_id = 3307
basedir =/mysql
datadir =/data/mysql/3307
log-bin=/data/mysql/3307/mysql-bin
socket =/tmp/mysql3307.sock
log-error =/logs/mysql/3307/mysqld3307.log
pid-file =/var/run/mysqld/mysqld3307.pid
[mysqld3308]
port = 3308
server_id = 3308
basedir =/mysql
datadir =/data/mysql/3308
log-bin=/data/mysql/3308/mysql-bin
socket =/tmp/mysql3308.sock
log-error =/logs/mysql/3308/mysqld3308.log
pid-file =/var/run/mysqld/mysqld3308.pid
8.创建日志文件
touch /logs/mysql/3306/mysqld3306.log
touch /logs/mysql/3307/mysqld3307.log
touch /logs/mysql/3308/mysqld3308.log
chown -R mysql.mysql /logs/
9.启动3306,3307,3308实例
mysqld_multi start 3306
mysqld_multi start 3307
mysqld_multi start 3308
10.访问3306、3307、3308实例,密码是第六步初始化数据生成的密码
mysql -uroot -p -S /tmp/mysql3306.sock
mysql -uroot -p -S /tmp/mysql3307.sock
mysql -uroot -p -S /tmp/mysql3308.sock
11.更改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'wwwwww';
mysql> FLUSH PRIVILEGES;
12.查看多实例状态
[root@mysqlmulti bin]# mysqld_multi report
13 查看端口
[root@mysql57 3308]# netstat -unltp | grep 3306
14 停止mysql
[root@mysql57 3308]# /data/3306/mysql stop && /data/3307/mysql stop
-
Mysql最佳安全配置手册
http://www.talkwithtrend.com/Document/detail/tid/426401
-
Mysql5.7—运维常用备份方式(超全)
http://www.talkwithtrend.com/Document/detail/tid/402419