ubuntu mysql 默认密码 设置

本文详细介绍了在Ubuntu系统上,当忘记MySQL root密码时的解决步骤。从查找默认密码到修改root用户密码,再到解决常见错误,如无法通过socket连接本地MySQL服务器的问题,提供了全面的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没安装过mysql了,以前的mysql安装的时候都会弹出输入密码的。最近安装发现直接安装完成中途居然没有弹窗让我输入密码。这下懵逼了,没有密码怎么连接数据库?

 

先说说我的mysql和系统版本:Server version: 5.7.25-0ubuntu0.18.04.2 (Ubuntu)

1.输入 mysql -uroot -h127.0.0.1 -p

然后提示Enter password:

不输入密码直接回车是不行的...

提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 

2.然后百度一下

有说密码在的/var/log/mysqld.log

也有说修改my.ini

都不行...

3.进入etc/mysql

试试cat debian.cnf会发现里面有"user","password"。这下好了密码账户都有了,直接用这两个登录mysql。

哇成功了...

那么接下来我们修改root密码

4.修改root密码

登录mysql不用说了吧。。。不知道的去百度一下

登录成功后,执行语句:

use mysql;
  
update user set authentication_string=PASSWORD("自定义密码") where user='root';
  
update user set plugin="mysql_native_password";
  
flush privileges;
  
quit;

然后重启mysql

执行:/etc/init.d/mysql restart;

 

5.使用root用户登录试试~

if 成功

   给我点个赞吧

else

   继续搜索吧,别打我

 

 

最后:你可能会遇到以下这两个问题

 

mysql unrecognized service

ERROR 2002 (HY000): Can't connect to local MySQL server through socket

你看看是不是没启动mysql

执行service mysql restart试试看,反正我的这个问题就是这么解决的

 

 

 

 

 

 

<think>好的,我现在需要帮用户解决在Ubuntu系统中查找MySQL默认密码的问题。用户提到他安装了mysql-server但无法用默认密码登录,还提到auth_socket的问题,以及通过修改认证方式为mysql_native_password后可以使用默认密码。我需要结合提供的引用信息来整理回答。 首先,用户的引用里有几个关键点:安装后无法用默认密码登录,root用户使用auth_socket认证,修改认证方式后可以使用默认密码。还有提到使用mysqladmin设置密码的命令,以及一些启动MySQL的选项。错误1045是访问被拒绝的情况。 我需要确定Ubuntu系统中MySQL默认密码是否存在。根据经验,在较新的Ubuntu版本中,MySQL安装时可能不会设置默认密码,而是使用auth_socket插件,允许通过sudo权限登录。这可能就是用户遇到的情况。用户可能尝试用空密码或者常见的密码,但实际需要调整认证方式。 接下来,用户需要如何找到默认密码?可能的情况是,对于某些安装方式,比如使用.deb包安装,初始密码可能存放在日志文件中,比如使用sudo grep 'temporary password' /var/log/mysqld.log或者类似的路径。但根据引用中的信息,Ubuntu可能不会生成临时密码,而是直接使用auth_socket。所以需要分情况讨论:如果是使用apt安装,可能没有默认密码,需要切换到sudo mysql登录,然后修改密码。如果用户是从其他方式安装,比如源码,可能会有不同的步骤。 用户提供的引用中有使用sudo mysqladmin设置密码的命令,这可能是在无法登录时重置密码的方法。但需要确保MySQL服务正在运行,并且用户有足够的权限执行该命令。 可能的解决方案步骤包括: 1. 尝试使用sudo mysql -u root直接登录,无需密码,因为auth_socket允许通过sudo访问。 2. 如果不行,检查是否有临时密码生成,可能在安装时的日志中。 3. 修改root用户的认证方式为mysql_native_password,并设置密码。 4. 处理可能出现的权限问题,比如ERROR 1045。 还需要注意不同版本的UbuntuMySQL可能有不同的行为,比如Ubuntu 18.10和更高版本可能默认使用auth_socket,而旧版本可能不同。同时,用户可能需要更新插件或刷新权限。 在生成相关问题时,应该涵盖常见的登录问题、修改密码的方法、认证插件的作用以及错误代码的解决方法。例如,如何处理访问被拒绝,如何修改root密码,以及auth_socket和mysql_native_password的区别。 最后,确保回答结构清晰,分步骤说明,并引用提供的参考信息来支持步骤的正确性。比如引用[^1]提到修改认证方式,引用[^2]是设置密码的命令,引用[^4]涉及错误处理。</think>[用户可见层] ### Ubuntu系统中MySQL默认密码的解决方法 在Ubuntu系统中安装MySQL后,若无法使用默认密码登录,通常是由于`auth_socket`插件认证方式导致。以下是分步骤解决方案: #### 1. 验证安装方式与认证模式 - **通过apt安装的MySQL**:默认设置密码,使用`auth_socket`插件允许通过系统权限登录。 - **手动安装或特定版本**:可能生成临时密码,需查看日志文件: ```bash sudo grep 'temporary password' /var/log/mysqld.log ``` #### 2. 使用系统权限登录MySQL 若未设置密码,直接通过`sudo`登录: ```bash sudo mysql -u root ``` 登录后需修改认证方式与密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` #### 3. 通过mysqladmin重置密码(若无法登录) 若已存在密码但忘记,停止MySQL服务后使用: ```bash sudo systemctl stop mysql sudo mysqld_safe --skip-grant-tables & mysql -u root ``` 在MySQL命令行中重置密码: ```sql UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; ``` 退出后重启服务: ```bash sudo systemctl restart mysql ``` #### 4. 处理常见错误 - **ERROR 1045 (28000)**:通常因密码错误或认证插件不匹配。确保使用`mysql_native_password`并检查密码。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值