Ubuntu下MySQL无法启动和访问的问题解决与修复(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: Ubuntu下MySQL无法启动和访问的问题解决与修复

3.5 再执行更新操作

update user set plugin="mysql_native_password"; 

1.png

3.6刷新系统权限相关表

flush privileges;

如果报错提示其他表有3.4的报错,就对其执行一下3.4再执行3.6。

1.png


3.7退出mysql

quit


4.将第一步文件中的skip-grant-tables注释掉,并重启MySQL服务器

sudo systemctl restart mysql


5、再次重新访问mysql,发现依旧无法进入

1.png

这是因为user表中是空的,并没有写入root信息和验证。


6、解决user表为空的问题【3,4】


6.1修改mysqld.cnf文件


在配置文件中添加或修改下面两项: (文件中没有sql_mode项添加后不知sql_mode是否起作用,反正需要安全模式进入mysql)

sql_mode=NO_ENGINE_SUBSTITUTION
skip-grant-tables

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

需要把STRICT_TRANS_TABLES去掉,即改为:sql_mode=NO_ENGINE_SUBSTITUTION


注:简单来说STRICT_TRANS_TABLES这个是启用严格模式,进入安全模式后如果启用了严格模式向表插入数据插入不了的;


6.2重启mysql服务,并使用root 空密码连接数据库


6.3向user表插入root用户

insert into mysql.user(Host,User,authentication_string) values("%","root",password("123456"));

1.png


6.4修改root用户权限,并更新权限,然后退出

  update mysql.user set
     `Select_priv` = 'Y',
   `Insert_priv` = 'Y',
   `Update_priv` = 'Y',
   `Delete_priv` = 'Y',
   `Create_priv` = 'Y',
   `Drop_priv` = 'Y',
   `Reload_priv` = 'Y',
   `Shutdown_priv` = 'Y',
   `Process_priv` = 'Y',
   `File_priv` = 'Y',
   `Grant_priv` = 'Y',
   `References_priv` = 'Y',
   `Index_priv` = 'Y',
   `Alter_priv` = 'Y',
   `Show_db_priv` = 'Y',
   `Super_priv` = 'Y',
   `Create_tmp_table_priv` = 'Y',
   `Lock_tables_priv` = 'Y',
   `Execute_priv` = 'Y',
   `Repl_slave_priv` = 'Y',
   `Repl_client_priv` = 'Y',
   `Create_view_priv` = 'Y',
   `Show_view_priv` = 'Y',
   `Create_routine_priv` = 'Y',
   `Alter_routine_priv` = 'Y',
   `Create_user_priv` = 'Y',
   `Event_priv` = 'Y',
   `Trigger_priv` = 'Y',
   `Create_tablespace_priv` = 'Y'
   where user='root';
flush privileges;

1.png


7、将配置文件修改恢复


注释掉或改正6.1中添加修改的部分。


8、重启mysql服务,能够正常访问了

1.png


四、参考


1、https://blog.csdn.net/m0_37657841/article/details/90046238

2、https://blog.csdn.net/tgdzsjh/article/details/105411581

3、https://www.qycn.com/xzx/article/7071.html

4、https://blog.csdn.net/u012232730/article/details/96878696

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 Ubuntu 关系型数据库
Ubuntu 20.04 卸载与安装 MySQL 5.7 详细教程
该文档提供了在Ubuntu上卸载和安装MySQL 5.7的步骤。首先,通过`apt`命令卸载所有MySQL相关软件包及配置。然后,下载特定版本(5.7.32)的MySQL安装包,解压并安装所需依赖。接着,按照特定顺序安装解压后的deb包,并在安装过程中设置root用户的密码。安装完成后,启动MySQL服务,连接数据库并验证。最后,提到了开启GTID和二进制日志的配置方法。
|
12天前
|
关系型数据库 MySQL
蓝易云 - 如何修复MySQL中损坏的表
最后,为了防止数据丢失,定期备份数据是非常重要的。
21 3
|
1天前
|
Ubuntu 关系型数据库 MySQL
【MYSQL】ubuntu下安装数据库
【MYSQL】ubuntu下安装数据库
8 0
|
22天前
|
Ubuntu 关系型数据库 MySQL
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
15 0
ubuntu apt 安装wordpress所需所有的 一键脚本 扩展您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
|
23天前
|
Ubuntu 安全 关系型数据库
轻松搭建MySQL 8.0:Ubuntu上的完美指南
轻松搭建MySQL 8.0:Ubuntu上的完美指南
22 1
|
1月前
|
SQL 分布式计算 关系型数据库
Ubuntu上安装MySQL以及hive
Ubuntu上安装MySQL以及hive
31 1
|
18小时前
|
Ubuntu
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
在Ubuntu上安装JetBrains Toolbox并解决libfuse.so.2依赖问题
8 3
|
1天前
|
消息中间件 Ubuntu 数据安全/隐私保护
Ubuntu上安装RabbitMQ
Ubuntu上安装RabbitMQ
7 1
|
2天前
|
Ubuntu Docker 容器
ubuntu安装docker
ubuntu安装docker
33 1
|
9天前
|
Ubuntu PHP Apache
蓝易云 - 如何在Ubuntu 22.04上安装PHP8.1并设置本地开发环境
以上就是在Ubuntu 22.04上安装PHP 8.1并设置本地开发环境的步骤。
18 2