Mysql 8.0 安装和使用遇到的各种问题(持续更新)

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: MySQL 8.0 安装到 服务器时,遇到的一些问题;安装、远程访问、密码编码格式不对、大小写区分、密码重置、修改密码 等操作

金钱有价,数据无价,在进行练习操作时,万万记得备份数据

安装部分

在条件允许的情况下,特别建议使用二进制安装,不要使用网上的各种傻瓜式安装方法,可能不知道会有什么坑会在等你

下面引用一位大哥博客的傻瓜式安装方法
链接: [https://blog.csdn.net/qq_40550973/article/details/80721014]

检查系统
cat /etc/os-release

检查系统位数
getconf LONG_BIT

查询是否存在mysql文件
find / -name mysql

如存在mysql文件,则全部清除
find / -name mysql|xargs rm -rf;

开始安装mysql8.0
rpm -Uvh https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm

yum --enablerepo=mysql80-community install mysql-community-server

安装过程中可能会出现各种询问提示

询问文件大小
Total downlload size; Is this Ok ? Y

从文件中检索秘钥MySQL导入GPG
Importing GPG? Y

完成后,启动mysql8.0
service mysqld start;

检查mysql是否正常启动
service mysqld status;

查看root用户默认密码
grep "A temporary password" /var/log/mysqld.log

密码的位置大约在for root@localhost XXXXXXXXX

找到默认密码后,单独记录,开始配置mysql
mysql_secure_installation

两次确认输入密码

您要安装验证密码插件吗?
secure enough.Would you like to setup VALIDATE PASSWORD plugin? Y

删除匿名用户吗?
Remove anonymous users?() Y

禁止远程root用户登录吗?
Disallow root login remotely? N

默认情况下,有个test数据库是否需要删除?
Remove test database and access to it? Y

是否马上重载特权表?并立即生效配置
Reload privilege tables now? Y

登录数据库
mysql -u root -p

不允许远程访问/解除远程访问限制

先登录mysql命令行

use mysql;

select host,user from user;

查询到user---root 前面写着 localhost,就是不允许远程访问
进行修改

update user set host='%' where user='root';

刷新权限后,可进行远程访问
flush privileges;

Navicat链接出现caching_sha2_password问题,密码编码格式不被接受

进入mysql命令行
update user set host='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
退出命令行后,重启服务
service mysqld restart;

able XX.QRTZ_LOCKS doesn`t exist 的大小写区分问题

大小写区分问题,在使用navicat链接时,不会暴露问题,但在代码启动时,会暴露问题

解决方法
8.0新增了data dictionary的概念
8.0与之前5.X版本不同,之前5.X的版本,可以直接修改my.cnf达到目的
在MySQL 5.7之前则允许数据库初始化和启动的值不一致且以启动值为准

所以 mysql需重新初始化

切记,数据一定要提前备份

运行 停止Mysql的运行
service mysqld stop

删除/var/lib/mysql目录下所有文件
cd到/var/lib/mysql目录位置,使用
rm -rf *

修改my.cnf
vi /etc/mycnf

[mysqld]标签下,增加
lower_case_table_names=1

这时启动mysqld不会报错
但,由于mysql已被初始化,root密码已被修改,所以需要执行忘记密码操作

忘记root密码/重置root密码

运行grep "A temporary password" /var/log/mysqld.log 也无法获取默认密码

所以

无密码进入mysql / mysql忘记密码重置

在 my.cnf下 增加无密码进入指令
vi /etc/my.cnf

[mysqld]段 增加无密码进入命令
skip-grant-tables

:wq 保存退出

重启服务
service mysqld restart;

mysql -u root -p

提示输入密码时,直接敲回车就可以跳过

选择数据库
use mysql;

将密码置空
update user set authentication_string = '' where user = 'root';

quit 退出

然后再重新去修改my.cnf文件
去掉skip-grant-tables
:wq 保存退出

重启服务
service mysqld restart;

mysql -u root -p 免密码登录,直接敲回车

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123@xxx';
特别注意,8.0对密码格式进行校验,如不满足安全格式会报错

密码修改完成
quit;

重启服务
service mysqld restart;

这时又一次发现 navicat 链接时出现
远程访问未开启问题(由于已经初始化了设置)

重复关闭远程访问操作即可

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
4月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
213 4
MySQL源码编译安装
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
213 4
MySQL二进制包安装
|
1月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
328 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
1月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
176 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
320 5
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
523 16
|
1月前
|
Ubuntu 关系型数据库 MySQL
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
本文详细介绍了在Ubuntu 24.04、22.04、20.04及Debian 12系统上,通过离线DEB包安装MySQL 8.0和8.4版本的完整步骤。涵盖下载地址、依赖处理、dpkg安装顺序、配置方法及服务启动验证,确保用户可顺利部署MySQL数据库。
614 0
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
|
1月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
559 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
1月前
|
Oracle 关系型数据库 MySQL
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
本文详细介绍在Rocky、CentOS、AlmaLinux、openEuler等主流Linux系统上,通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,涵盖下载、依赖处理、rpm/yum安装、服务启动、密码设置等关键环节,适用于多种企业级环境部署需求。
562 0
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)

热门文章

最新文章

推荐镜像

更多