mysql版本升级

MySQL扫描出安全漏洞.
解决办法:升级MySQL到5.7的最后一个版本

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.39-linux-glibc2.12-x86_64.tar.gz

开始升级:
1、备份并删除原有的mysql包
复制代码
mysqldump -u root -p --all-databases >mysqlall.sql   //先备份原有所有数据,防止数据丢失。
service mysql stop                                         //停止mysql服务
service tomcat/nginx stop                 //停止tomca服务,防止在更新的时候有新数据进入丢失  
yum remove mysql mysql-*                                   //移除原有mysql服务
yum list installed | grep mysql                            //查看已经安装的mysql服务;如果有,可输入命令删除:yum remove mysql-libs
rpm -qa | grep -i mysql                           
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
rm /etc/my.cnf

2、备份数据库:mysqldump -uroot -p db >1.sql
#恢复:mysql -uroot -p db <1.sql

3、安装新的MySQL5.7.33:CentOS7二进制安装MySQL5.7_水煮胡萝卜的博客-CSDN博客
groupadd mysql
useradd -g mysql -s /sbin/nologin -M mysql

mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/data

vim /etc/my.cnf
[client]
port = 3306
default-character-set=utf8
[mysqld]
# 一般配置选项
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
default_storage_engine = InnoDB
#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;

配置系统环境变量:
vim /etc/profile
#在文件的最后新起一行,插入:
export PATH=$PATH:/usr/local/mysql/bin
生效:
source /etc/profile

临时启动测试(如下表示已正常启动):
[root@localhost bin]# ./mysqld_safe 
2020-12-10T07:27:11.165654Z mysqld_safe Logging to '/usr/local/mysql/data/mysqldb.localhost.err'.
2020-12-10T07:27:11.200006Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
...

杀掉进程:pkill mysql

重新打开一个终端杀掉进程再使用MySQL自带启动脚本启动测试(如下表示已正常启动):
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# ./mysql.server start
Starting MySQL. SUCCESS! 
[root@localhost support-files]# ./mysql.server stop

设置MySQL使用systemctl服务:
[root@localhost mysql]# vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
After=syslog.target
[Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecStop=/usr/local/mysql/support-files/mysql.server stop
ExecReload=/usr/local/mysql/support-files/mysql.server restart
LimitNOFILE = 5000
[Install]
WantedBy=multi-user.target

启动和关闭测试:
systemctl daemon-reload
systemctl start mysqld.service 
systemctl status mysqld.service

4、创建MySQL数据库并还原数据。
mysql -u root -p123123
create database dbtest;
#恢复:mysql -uroot -p dbtest <1.sql

还原所有库就执行:mysql -uroot -p <mysqlall.sql

最后重启MySQL。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小数苗小数苗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值