关于 MySQL root 账号的默认密码

Ubuntu Server 12.04 LTS,用 apt-get 安装 MySQL 过程中没有提示设置 root 账号的密码,安装完成后发现 root 空密码无法登录。

解决方案:

其实 debian 系的 MySQL 安装过程中会设置一个默认的账户,这个文件里保存了默认账号的信息

cat /etc/mysql/debian.cnf

注意:这里的密码是明文的!

然后我们就可以用这个账号登录 MySQL

mysql -udebian-default-account -pdefaultpassword

这个账号是有操作 mysql 数据库的权限的,所以我们可以修改 root 的密码

use mysql
set password for 'root'@'localhost' = password('yourpass');

OK!

如果要添加新账号,这个默认账号是没有权限的,可以用 root 账号重新登录 mysql,用下面这条命令添加新的 MySQL 用户,具体参数请百度之

GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'localhost' IDENTIFIED BY 'yourpass' WITH GRANT OPTION;
### MySQL root 默认密码的查找与设置 在MySQL中,root用户的默认密码通常为空或由系统自动生成。以下是对不同环境下的默认密码处理方法: #### 1. 默认情况下无密码 在某些安装环境中(如Linux或Windows的基本安装),MySQLroot用户可能没有设置默认密码[^3]。可以通过以下命令直接登录: ```bash mysql -u root ``` #### 2. Mac 环境下的默认密码 在Mac系统中,MySQL安装时会为root账户生成一个随机密码[^2]。该密码通常是一个复杂的字符串,记录在安装日志文件中。可以尝试从安装日志中查找临时密码,路径通常为: ```plaintext /var/log/mysql-install.log ``` 如果无法找到日志文件,可以通过重置密码的方式解决。 #### 3. Linux 或 Windows 环境下的密码重置 如果忘记root密码,可以通过以下步骤重置密码: - **停止MySQL服务** 在Linux系统中,使用以下命令停止MySQL服务: ```bash sudo systemctl stop mysql ``` 在Windows系统中,使用以下命令停止服务: ```bash net stop mysql ``` - **跳过权限安全检查启动MySQL** 在Linux系统中,使用以下命令以跳过权限检查的方式启动MySQL: ```bash mysqld_safe --skip-grant-tables & ``` 在Windows系统中,进入MySQL安装目录下的`bin`文件夹,并运行: ```bash mysqld --skip-grant-tables ``` - **连接MySQL并修改密码** 打开另一个终端窗口,输入以下命令连接到MySQL: ```bash mysql -u root ``` 使用以下SQL语句修改root密码: ```sql USE mysql; UPDATE user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; ``` 注意:在MySQL 8.0及以上版本中,`PASSWORD()`函数已被废弃,应使用以下语句: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` - **重启MySQL服务** 修改完成后,重启MySQL服务以应用更改: ```bash sudo systemctl restart mysql ``` #### 4. MySQL 8.0及以上版本的初始密码MySQL 8.0及以上版本中,安装过程中会生成一个临时密码,记录在日志文件中。可以通过以下命令查看日志文件中的临时密码: ```bash sudo cat /var/log/mysqld.log | grep 'temporary password' ``` 找到临时密码后,使用以下命令登录MySQL并修改密码: ```bash mysql -u root -p ``` 输入临时密码后,执行以下SQL语句修改密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` ### 注意事项 - 确保新密码符合MySQL密码策略要求,例如长度和复杂度。 - 修改密码后,建议测试登录以确保更改成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值