MySql升级安装、socket 及密码重置

升级

项目需要使用Mysql8.0, 查看自己的ubuntu22.04上mysql版本为5.7, 使用以下命令自动升级到8.0版本。

复制代码
sudo apt install Mysql

sock错误: Can't connect to local MySQL server through socket

运行mysql -u -p 报以下错误:

复制代码
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysqld.sock'

解决如下: 修改配置文件,增加以下内容:

复制代码
[mysqld]
socket = /tmp/mysqld.sock

[client]
socket = /tmp/mysqld.sock

修改之后 ,重启mysql服务

复制代码
sudo systemctl restart mysql

密码问题: ERROR 1045 (28000): Access denied for user 'root'@'localhost'

忘记密码会提示以下错误,以下是重置mysql密码方法:

复制代码
#执行以下命令,输入密码
mysql -u root -p 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

#停止服务 
(base) moon@moon:~$ sudo service mysql stop

#跳过密码检查
(base) moon@moon:~$ sudo mysqld_safe --skip-grant-tables &
[1] 27049
(base) moon@moon:~$ 2025-06-19T09:30:30.942961Z mysqld_safe Logging to '/var/log/mysql/error.log'.
2025-06-19T09:30:30.998082Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

#进入mysql,
(base) moon@moon:~$ mysql -u root
# 重新设置密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.06 sec)

mysql> quit
Bye

#重启服务 
(base) moon@moon:~$ sudo service mysql restart

#重新进入
base) moon@moon:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
相关推荐
花间相见几秒前
【计算基础|MySQL08】索引(上):为什么是 B+ 树
数据结构·mysql·算法·架构
我不会插花弄玉35 分钟前
9. 表的内连和外连【由浅入深-MySQL】
android·数据库·mysql
小诗懂技术1 小时前
V4L2视频采集流程复习笔记
笔记·mysql·音视频
howard20051 小时前
任务 2-3 图形化管理工具Navicat
数据库·mysql·navicat
数据库小学妹2 小时前
MySQL时区问题排查:TIMESTAMP和DATETIME的区别与跨时区对账踩坑
数据库·mysql·datetime·时区·timestamp·跨时区对账
多客:duokelijie3 小时前
婚恋交友小程序合规梳理:上线运营需要准备哪些资质与许可手续?
后端·mysql·微信小程序·前端框架·uni-app·php·持续部署
L00116 小时前
MySQL5.7 DATE 字段无法设置默认日期?用触发器搞定|个人任务清单项目实战
mysql
不像程序员的程序媛18 小时前
导出mysql数据结构
数据库·mysql
鱼很腾apoc18 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
郭萌69619 小时前
多商户平台的分销佣金:为什么同一笔订单,换个时间跑会算出另一个人
mysql·php