Linux(Centos7)升级MySQL 5.7到8.0.31
一、下载MySQL安装包
下载地址:https://downloads.mysql.com/archives/community/
二、备份
mkdir /home/mysqlback
mysqldump -u root -p --all-databases > /home/mysqlback/mysqldback.sql
三、卸载MySQL
注:卸载之前一定要先备份好数据库
1.检查当前系统是否安装过MySQL
rpm -qa | grep mysql
[root@VM-0-6-centos mysqlback]# rpm -qa |grep mysql
mysql-community-client-5.7.41-1.el7.x86_64
mysql-community-libs-5.7.41-1.el7.x86_64
mysql-community-server-5.7.41-1.el7.x86_64
mysql80-community-release-el7-3.noarch
mysql-community-common-5.7.41-1.el7.x86_64
2.停止MySQL服务
systemctl stop mysqld
3.删除相关应用
rpm -e --nodeps mysql-community-client-5.7.41-1.el7.x86_64
rpm -e --nodeps mysql-community-libs-5.7.41-1.el7.x86_64
rpm -e --nodeps mysql-community-server-5.7.41-1.el7.x86_64
rpm -e --nodeps mysql80-community-release-el7-3.noarch
rpm -e --nodeps mysql-community-common-5.7.41-1.el7.x86_64
4.查看文件名中含有MySQL的文件
find / -name mysql
whereis mysql
若出现结果文件,则需根据rm -rf 路径删除相关文件
5.删除其他有关MySQL服务
#删除老版本mysql的所有文件和库
rm -rf /var/lib/mysql
#mysql的配置文件
rm -rf /etc/my.cnf
#如果不删除这个文件,则重新安装的Mysql将无法设置password
rm -rf /var/log/mysqld.log
四、解压MySQL安装包并安装
1.解压
mv mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar /usr/local/
tar -xvf mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar
解压完后:
[root@VM-0-6-centos local]# tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-8.0.31-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
mysql-community-common-8.0.31-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.31-1.el7.x86_64.rpm
mysql-community-devel-8.0.31-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-8.0.31-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm
mysql-community-server-8.0.31-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.31-1.el7.x86_64.rpm
mysql-community-test-8.0.31-1.el7.x86_64.rpm
2.安装
MySQL各安装包之间有依赖关系,所以安装顺序必须按照下列来
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm
以上为必须要安装的包,其余可选。
五、修改配置文件(/etc/my.cnf)(必做,否则一旦启动则有些配置不能再修改了)
# 设置导入sql时文件大小限制 否则有些表导入不进去
innodb_log_file_size=1024M
innodb_strict_mode=0
# 设置大小写不敏感
lower-case-table-names=1
完整的my.cnf如下:
[mysqld]
port = 3306
##密码过期时间,为0则为永不过期
#default_password_lifetime=0
#设置导入SQL时文件大小,否则有些达标导不进去
innodb_log_file_size=1024M
innodb_strict_mode=0
## 配置表明不区分大小写
lower_case_table_names=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
六、初始化MySQL
mysqld --initialize --console
添加MySQL用户及用户组权限
chown -R mysql:mysql /var/lib/mysql/
启动MySQL
systemctl start mysqld
也可设置MySQL自启动
设置开机自启动:systemctl enable mysqld
禁用开机自启动:systemctl disable mysqld
查看MySQL启动时的临时密码:
cat /var/log/mysqld.log | grep localhost
#或者
cat /var/log/mysqld.log | grep password
启动MySQL后,使用临时密码登录MySQL数据库
mysql -u root -p
登录MySQL后,必须先修改用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
开启远程访问
#选择数据库
use mysql;
#查看用户和可以访问数据库的ip地址
select host,user from user;
#修改权限,允许所有ip均可访问
update user set host = '%' where user ='root';
#刷新权限
FLUSH PRIVILEGES;
七、导入备份数据
source /home/mysqlback/mysqldback.sql
Linux(Centos7)升级MySQL 5.7到8.0.31的更多相关文章
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- [数据库/Linux]CentOS7安装MySQL Percona版(RPM方式)
OS: CentOS7 (x86_64) MySQL: MySQL Percona 5.7.31-34 0 前置条件 已配置完成YUM源 已卸载先前可能安装的MySQL rpm -qa | grep ...
- linux centos7下mysql安装--韩国庆
首先我先给大家介绍下MariaDB和mysql的区别. 上图,“MySQL之父”的骨灰级程序员Monty,但是mysql被Oracle收购后,Monty又开始去发展另一条数据库的道路,并且以Monty ...
- linux(Centos7)安装mysql
查看系统环境 [root@localhost html]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) CentOS 7 ...
- Linux(Centos7)下Mysql的安装
1.1 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysq ...
- linux centos7 开启 mysql 3306 端口 外网访问 的实践
第〇步:思路 3306 端口能否被外网访问,主要要考虑: (1)mysql的3306 端口是否开启?是否没有更改端口号? (2)mysql 是否允许3306 被外网访问? (3)linux 是否已经开 ...
- Linux Centos7中MySql安装
(1) 安装Mysql5.7: 执行命令:rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-co ...
- linux centos7安装mysql
1.下载并安装官方的 yum repository (新建了mysql文件夹) wget -i -c http://dev.mysql.com/get/mysql57-community-releas ...
- linux(CentOS7) 之 MySQL 5.7.30 下载及安装
一.下载 1.百度搜索mysql,进入官网(或直接进入官网https://www.mysql.com) 2.选择 downloads 3.翻到最下面,选择MySQL Community (GPL) D ...
- Centos/Linux 下升级python2.7至3.5.0
(一) 安装Python3.5 (1)在安装python之前,因为linux系统下默认没有安装wget,gcc,首先安装wget,gcc: [root@node6 python_scripts]# y ...
随机推荐
- Windows 平台 UTF-8 编码转换为本机编码
std::string from_utf8(const std::string& src) { int n = MultiByteToWideChar(CP_UTF8, 0, src.c_st ...
- Angular系列教程之路由守卫
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...
- 【BUS】动画图解嵌入式常见的通讯协议:SPI、I²C、UART、红外 ......
SPI传输 SPI数据传输 SPI数据传输 SPI时序信号 I2C传输 2C总线寻址 UART传输 PC-UART-MCU RS-232电平转换 红外控制 红外通信 红外信号接收.放大.整形 红外控制 ...
- 【面试题精讲】MySQL中覆盖索引是什么
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址 系列文章地址 在MySQL中,覆盖索引是一种特殊类型的索引,它 ...
- 阿里云IPV6 创建虚拟机的过程
阿里云IPV6 创建虚拟机的过程 背景 IPV6 已经越来越广泛的应用. 想在外网开通一下IPV6,发现还有一些坑. 这里总结一下. 备忘. 开通方式 1. 登录阿里云的控制台, 打开云服务器ECS的 ...
- Python学习之十二_tkinter的学习与使用
Python学习之十二_tkinter的学习与使用 摘要 本来想说会用QT5进行界面编程 但是发现比较繁琐 还是先学习使用 tkinter的方式进行界面化的编写和学习了 基础知识 tkinter是一个 ...
- [转帖]Prometheus Shell Exporter
Shell Exporter can execute Powershell or Bash scripts and transform its output to Prometheus metrics ...
- [转帖]JVM性能提升50%,聊一聊背后的秘密武器Alibaba Dragonwell
https://zhuanlan.zhihu.com/p/453437019 今年四月五日,阿里云开放了新一代ECS实例的邀测[1],Alibaba Dragonwell也在新ECS上进行了极致的优化 ...
- [转帖]Jmeter之界面语言设置
https://developer.aliyun.com/article/1173114#:~:text=%E6%B0%B8%E4%B9%85%E6%80%A7%E8%AE%BE%E7%BD%AE%E ...
- [转帖]docker容器自动重启,看完这篇彻底明白了
一. JVM内存区域的划分 1.1 java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有 ...