Mysql设置初始化密码和修改密码

本文介绍MySQL中root用户密码的初始化设置及遗忘后的重置方法。包括使用不同命令进行密码修改、临时跳过权限表验证等技巧。
部署运行你感兴趣的模型镜像

刚开始创建mysql的时候,一般需要修改密码;而且,本人碰到过在几台服务器上面操作,忘记了其中一台的root密码(用户密码记得,root特别久没用了),所以在网上找到下面的方法,记录下来。由于,放在备忘录里面,忘记放链接了,所以希望被转载的兄弟能原谅。

一、初始化设置密码

/etc/init.d/mysql stop
cd /usr/local/mysql
mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
mysql -u root mysql
mysql > UPPATE user SET password=PASSWORD(‘newpassword’) where USER=’root’;
mysql > FLUSH PRIVILEGES;
mysql > quit ;
/etc/init.d/mysql restart
mysql -u root -p

方法1: 用SET PASSWORD命令
  mysql -u root
  mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);

方法2:用mysqladmin
  mysqladmin -u root password “newpass”
  如果root已经设置过密码,采用如下方法
  mysqladmin -u root password oldpass “newpass”

方法3: 用UPDATE直接编辑user表
  mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD(‘newpass’) WHERE user = ‘root’;
  mysql> FLUSH PRIVILEGES;

二、丢失root密码时,设置root密码

方法1:
  mysqld_safe –skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE user=’root’;
  mysql> FLUSH PRIVILEGES;
  
方法2:
1、修改mysql的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

2、保存配置文件后,重启mysql服务 service mysqld restart

3、mysql -u root -p登录mysql,然后不输入密码直接回车,然后按照上面的流程修改密码

4、密码修改完毕,按照流程1的删除配置文件中的那行,然后重启mysql服务

参考:http://jingyan.baidu.com/article/1709ad80a8caf14634c4f013.html

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

<think> 我们正在讨论的是MySQL 8.0.27版本初始化设置密码的方法。根据引用信息,有两种常见的初始化方式: 1. 使用`--initialize`参数(生成随机初始密码,在控制台输出) 2. 使用`--initialize-insecure`参数(不生成密码,登录时无需密码,然后手动设置密码) 具体步骤: 方法一:使用`--initialize`生成随机初始密码(安全推荐) 步骤: 1. 以管理员身份打开命令提示符(cmd) 2. 执行初始化命令:`mysqld --initialize --user=mysql --console` 注意:`--console`参数是为了将初始密码显示在控制台上,否则会写入错误日志。 3. 在控制台输出中,查找一行包含`[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 随机密码`的信息,记下这个随机密码(区分大小写)。 4. 启动MySQL服务:`net start mysql` 5. 使用初始密码登录:`mysql -u root -p`,然后输入刚才记下的随机密码。 6. 登录后,立即修改密码(因为初始密码是临时的,必须修改才能正常使用): ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; ``` 或者使用以下命令(推荐): ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; ``` 7. 退出:`quit` 方法二:使用`--initialize-insecure`(无密码初始化,然后手动设置) 步骤: 1. 以管理员身份打开命令提示符(cmd) 2. 执行初始化命令:`mysqld --initialize-insecure --user=mysql` 注意:该命令不会生成初始密码,所以控制台不会显示密码。 3. 启动MySQL服务:`net start mysql` 4. 登录MySQL(无需密码):`mysql -u root --skip-password` 或者 `mysql -u root -p` 然后直接回车(不输入密码) 5. 登录后,设置密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; ``` 6. 退出:`quit` 注意:在Windows系统中,如果之前安装过MySQL,可能需要先移除旧服务(如果存在)再初始化。 另外,根据引用[4]中的提示,如果初始化过程中出现错误,检查计算机名是否为中文,如果是,请更改为英文。 相关问题: 1. MySQL初始化时使用`--initialize``--initialize-insecure`有什么区别? 2. 如何修改MySQL root用户的密码? 3. 初始化完成后如何启动MySQL服务? 4. 忘记MySQL初始密码怎么办? 5. MySQL安装过程中遇到“服务名无效”错误如何解决?[^3] </think> ### MySQL 8.0.27 密码初始化方法 #### 方法一:安全初始化(推荐) ```bash # 1. 初始化数据库(生成随机密码mysqld --initialize --user=mysql --console # 示例输出末尾会显示初始密码 [Note] [MY-010454] A temporary password is generated for root@localhost: uf6t!kKjH5we ``` **关键步骤**: 1. 记录输出的临时密码(如:`uf6t!kKjH5we`) 2. 启动服务:`net start mysql` 3. 使用临时密码登录: ```bash mysql -u root -p ``` 4. **立即修改密码**: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; ``` #### 方法二:免密初始化(需手动设置) ```bash # 1. 免密初始化 mysqld --initialize-insecure --user=mysql # 2. 启动服务 net start mysql # 3. 直接登录(无需密码mysql -u root --skip-password # 4. 设置密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; ``` #### ⚠️ 注意事项: 1. 所有命令需在**管理员权限**下运行[^1][^3] 2. 初始化前确保: - 数据目录为空(`datadir`) - 关闭所有 MySQL 进程 3. 密码复杂度要求(MySQL 8默认): - 至少8字符 - 包含大小写字母、数字特殊符号 4. Windows 系统可能需要配置环境变量: ```powershell $env:Path += ";C:\mysql-8.0.27-winx64\bin" ``` #### 忘记密码解决方案: ```bash # 1. 停止服务 net stop mysql # 2. 启用免验证模式 mysqld --skip-grant-tables # 3. 新窗口登录并重置密码 mysql -u root FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` ### 相关问题 1. MySQL 8.0 密码策略默认要求是怎样的? 2. 如何修改 MySQL密码复杂度规则? 3. `--initialize` `--initialize-insecure` 初始化有何本质区别? 4. 为什么 MySQL 8.0 初始化后必须立即修改密码? 5. 如何在 Linux 系统完成 MySQL 8.0 的安全初始化?[^1][^3]
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值