一、安装前准备工作
1.下载MySQL安装包,上传到服务器
2. 检查是否已经安装过mysql:rpm -qa | grep mysql
有的话就卸载掉以前安装的mysql: rpm -e --nodeps xxx(xxx是搜索结果)
3. 安装依赖包 yum install libaio libaio-devel -y
4. 创建操作系统层的MySQL专用账户和用户组,均命名为mysql
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5. 创建安装路径,数据文件存放路径
mkdir /mysql
mkdir -p /data3306
mkdir -p /data3307
chown -R mysql:mysql /mysql
chown -R mysql:mysql /data3306
chown -R mysql:mysql /data3307
6. 禁用防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
关闭selinux:
vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
二、安装MySQL
1. 执行tar命令,解压下载好的MySQL至/mysql tar -xzvf mysql-5.7.21.tar.gz
2. 配置参数文件/etc/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
character_set_server=utf8mb4
collation_server=utf8mb4_general_ci
innodb_buffer_pool_size=1G
init_connect='SET NAMES utf8mb4'
expire_logs_days=2
max_binlog_size=10M
innodb_flush_log_at_trx_commit=1
sync_binlog=1
default-storage-engine = INNODB
lower_case_table_names=1
max_connections=2000
log-bin-trust-function-creators=1
[mysqld_multi]
mysqld = /mysql/bin/mysqld_safe
mysqladmin = /mysql/bin/mysqladmin
log = /mysql/mysqld_multi.err
user = root
pass = abc123
[mysqld3306]
basedir = /mysql
datadir = /data3306
port=3306
socket=/data3306/mysql3306.sock
[mysqld3307]
basedir = /mysql
datadir = /data3307
port=3307
socket=/data3307/mysql3307.sock
3. 初始化各个实例
cd /mysql
bin/mysqld --initialize --user=mysql --basedir=/mysql --datadir=/data3306
bin/mysqld --initialize --user=mysql --basedir=/mysql --datadir=/data3307
4. 各个实例开启SSL连接
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/mysql --datadir=/data3306
bin/mysql_ssl_rsa_setup --user=mysql --basedir=/mysql --datadir=/data3307
5. 配置PATH路径
vi /etc/profile
export PATH=$PATH:/mysql/bin
6. 配置MySQL自启
cp support-files/mysqld_multi.server /etc/init.d/mysqld_multi
chkconfig --add mysqld_multi
7. 启动多实例
/etc/init.d/mysqld_multi start
/etc/init.d/mysqld_multi report
8. 修改各实例root密码
初始化安装完成后,mysql会自动生成root用户的初始化密码,从/mysql/mysqld_multi.err文件中查看,登陆数据库修改初始化密码:
实例1(3306)
mysql -uroot -p --socket=/data3306/mysql3306.sock
SQL>alter user root@'localhost' identified by 'abc123';
实例2(3307)
mysql -uroot -p --socket=/data3307/mysql3307.sock
SQL>alter user root@'localhost' identified by 'abc123';