a.在mysql5.6.46主机上安装mysql5.7.28
1. 上传软件并解压、软连接
ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql57
2. 环境处理
配置文件重命名
[root@db01 app]# mv /etc/my.cnf /etc/my.cnf.bak
注释环境变量
vim /etc/profile
注释以下行
#export PATH=/data/app/mysql/bin:$PATH
source /etc/profile
生效环境变量
检查 : mysql -V 是否有显示
[root@db01 app]# mysql -V
-bash: /usr/bin/mysql: No such file or directory
3. 准备5.7 相关目录
mkdir -p /data/3316/data
4.初始化
[root@nfs /data/app]# /data/app/mysql57/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql57 --datadir=/data/3316/data
5.恢复环境
mv /etc/my.cnf.bak /etc/my.cnf
vim /etc/profile
取消注释以下行
export PATH=/data/app/mysql/bin:$PATH
6.授权
[root@db01 ~]# chown -R mysql. /data/*
7.修改配置文件
[root@nfs /data/app]# vim /data/3316/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql57
datadir=/data/3316/data
socket=/tmp/mysql3316.sock
port=3316
server_id=16
[mysql]
socket=/tmp/mysql3316.sock
8.systemctl管理
[root@nfs /data/app]# vim /etc/systemd/system/mysqld3316.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql57/bin/mysqld --defaults-file=/data/3316/my.cnf
LimitNOFILE = 5000
b. 停原库
1. 快速关库功能关闭(优雅关闭)
vim /etc/my.cnf
添加以下配置
innodb_fast_shutdown=0
[root@db01 data]# systemctl stop mysqld
c. 使用高版本软件挂低版本数据启动
[root@db01 data]# /data/app/mysql57/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &
d. 升级
[root@db01 data]# /data/app/mysql57/bin/mysql_upgrade -S /tmp/mysql.sock --force
e. 重启数据库到正常状态
[root@db01 data]# mysqladmin -S /tmp/mysql.sock shutdown
修改数据库
[root@nfs /tmp]# vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql57/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
启动数据库
[root@db01 data]# systemctl start mysqld
连接查看
[root@db01 data]# mysql -S /tmp/mysql.sock
查看数据结构