目录
一、导入新的离线安装包
二、备份原有mysql数据库
1、停止tomcat服务
2、查看mysql服务
3、备份数据库
三、停止mysql服务并打包备份旧版本
1、停止mysql
2、打包旧的mysql文件夹
3、删除旧的mysql文件夹
4、删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件
四、将新版mysql解压并拷贝到原mysql同级目录下
五、创建mysql文件夹下的data目录以及log目录
六、修改mysql文件夹下的所有文件的用户和用户组
七、数据库配置
1、初始化数据库并指定启动mysql的用户
2、将mysql加入到服务
3、设置服务开机自启
4、开启服务(如果如图报错,请看下一标题)
八、查看mysql版本是否升级成功
九、获取初始密码登录mysql,并修改密码
十、开启远程
十一、创建数据库并导入备份的数据库
前提:
1、本教程mysql目录:/usr/mysql5.7
2、centos7使用root账户,非root账户命令前需要加sudo
3、centos的ip:192.168.6.73
4、数据库账户密码、名称、目录根据实际操作
以上mysql5.7.32的安装教程是根据另一篇帖子安装步骤安装的,有需要可参考。
centos7在不联网环境下离线安装部署mysql5.7,配置文件my.cnf详解_mr__bai的博客-CSDN博客
一、导入新的离线安装包
我暂时存放在了/opt目录下。
下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
如果是直接挂在u盘,直接复制过去就行了。
如果是从windows平台远程到centos系统:
方法一:直接从window操作平台命令行上传
scp 本地文件目录 用户名@IP:linux下的目录
#例如本教程中:
scp C:\Users\BAI\Desktop\mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz root@192.168.6.73:/opt
需yes确认以及root用户密码确认(我这里用的是root用户,所以是root密码)
方法二:使用winscp软件连接后上传
教程:linux远程连接,上传文件至linux_mr__bai的博客-CSDN博客
二、备份原有mysql数据库
1、停止tomcat服务
(tomcat服务用到mysql数据库的服务,我这里是tomcat,也可能其他服务或者没有)
进入tomcat目录下的bin文件。执行下边的shutdown.sh
2、查看mysql服务
查看mysql服务状态,状态应为active,如果不是请开启服务。(服务名之前旧版本设置的是mysql)
systemctl status mysql
#开启服务
systemctl start mysql
3、备份数据库
方法一:如果有window环境能够联通centos系统,并有数据库工具,使用数据库工具备份即可(简单)
方法二:命令备份
# 仿照下列命令数据,将数据库备份到/opt目录下:
绝对路径的mysqldump -hIP -P端口 –u用户名 -p -c --add-drop-table 数据库名>/opt/数据库名.sql
# 本教程中的为:
/usr/mysql5.7/bin/mysqldump -hlocalhost -P3336 -uroot -p -c --add-drop-table superefpmj_sdjn >/opt/superefpmj_sdjn.sql
如果报mysql.sock错时,请搜索mysql.sock位置,并建立软链接,如果没有请跳过:
# 搜索mysql.sock并建立位置
find / -name mysql.sock
# 建立软链接
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
然后重新执行上一条备份命令。
三、停止mysql服务并打包备份旧版本
1、停止mysql
# 停止mysql服务
systemctl stop mysql
# 查看mysql服务状态
systemctl status mysql
服务状态变为inactive
2、打包旧的mysql文件夹
进入mysql文件夹的同级目录,我的是cd /usr
tar -cvzf mysqlBak.tar.gz mysql5.7/
执行完毕后查看目录,可看到已备份完成
3、删除旧的mysql文件夹
rm –rf mysql5.7
4、删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件
cd /etc/init.d
rm -rf mysql
四、将新版mysql解压并拷贝到原mysql同级目录下
(之前是上传到了/opt目录下)
进入原mysql同级目录下:/usr,并解压
cd /usr
# 解压到当前目录
tar -zxvf /opt/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz
# 重命名解压后的文件夹
mv mysql-5.7.39-linux-glibc2.12-x86_64/ mysql5.7
五、创建mysql文件夹下的data目录以及log目录
进入mysql5.7目录
cd /usr/mysql5.7
# 创建文件夹
mkdir data
mkdir log
六、修改mysql文件夹下的所有文件的用户和用户组
在之前安装的教程里,设置了mysql用户及用户组,用来专门管理mysql服务。更新mysql后依然使用原来的用户和用户组。
cd /usr
# 命令用于设置文件所有者和文件关联组的命令
chown -R mysql mysql5.7
# 命令用于变更文件或目录的所属群组
chgrp -R mysql mysql5.7
七、数据库配置
1、初始化数据库并指定启动mysql的用户
/usr/mysql5.7/bin/mysqld --user=mysql --initialize
2、将mysql加入到服务
cp /usr/mysql5.7/support-files/mysql.server /etc/init.d/mysql
3、设置服务开机自启
chkconfig mysql on
4、开启服务(如果如图报错,请看下一标题)
systemctl start mysql.service
5、如果报错(不报错则跳过):
编辑 /etc/selinux/config 将SELinux更改为宽松模式
八、查看mysql版本是否升级成功
mysql –V
九、获取初始密码登录mysql,并修改密码
# 查看到数据库初始密码。
grep "password" /usr/mysql5.7/log/error.log
登录mysql服务:
mysql -uroot -p
修改数据库登录密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
十、开启远程
下面命令是开启所有的ip,如果是某个ip,用ip代替%。
# 任何主机
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'superred' WITH GRANT OPTION;
# 刷新权限
mysql>flush privileges;
十一、创建数据库并导入备份的数据库
数据库名称应与原数据库中的一致。
# mysql中创建数据库语句
CREATE DATABASE `数据库名`CHARACTER SET utf8 COLLATE utf8_general_ci;
# 例如本教程中的:
CREATE DATABASE `superefpmj_sdjn`CHARACTER SET utf8 COLLATE utf8_general_ci;
导入备份的数据库:
先退出mysql命令:exit
# 导入语句
mysql -hIP –P端口 -uroot -psuperred superefp_sdjn< superefp_sdjn.sql
# 本教程中:
mysql -hlocalhost -P3336 -uroot -p superefpmj_sdjn</opt/superefpmj_sdjn.sql
到此:mysql服务升级完成,启动该启动的服务即可