安装好MySQL后,用SQL去修改root帐号的密码,结果不能登录了!

本文详细介绍了MySQL Community Edition 5.0.22版本的安装与配置过程,包括设置数据目录、修改配置文件、安装Windows服务及更新root密码等关键步骤。
取得MySQL Community Edtion 5.0.22版本的zip package,解压缩到 D:/MySQL,然后在另外一个分区建立
了数据目录I:/MyData,把D:/MySQL/data里面的内容复制了一份放到I:/MyData下面。做好这个步骤后,要准
备修改MySQL的配置文件和安装Windows Service了。

配置文件中需要新增的内容:
# The following options will be passed to all MySQL clients
[client]
# Add by Shark Wang
default-character-set = utf8

# The MySQL server
[mysqld]
# Add by Shark Wang
basedir = D:/MySQL/
datadir = I:/MyData/
default-character-set = utf8
default-collation = utf8_general_ci

然后启用InnoDB,需要把下面的内容启用,去掉前面的注释符:
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = I:/MyData/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = I:/MyData/
innodb_log_arch_dir = I:/MyData/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

然后在DOS命令行执行安装Service的命令:
D:/MySQL/bin/mysql-max-nt.exe --install MySQL --defaults-file=D:/MySQL/conf/my.ini

这样就可以启动MySQL Service了!

最后剩下的就是更改MySQL的root帐号的密码,用mysql登录后,执行:
SELECT mysql;
UPDATE user SET password='xxxxxx' WHERE user='root';
FLUSH PRIVILEGES;

重新登录,系统说root密码错误!!!火星了...- -|||

请教了一下汪总,原来这个地方有一个错误,正确的方法如下:
UPDATE user SET password=password('xxxxxx') WHERE user='root';

### 解决 MySQL 8.0 安装Root 用户登录失败 对于 Windows 10 环境下 MySQL 8.0 版本遇到 `Access denied for user 'root'@'localhost'` 错误的情况,有多种可能的原因和对应的解决方案。 #### 方法一:通过命令提示符重置密码 运行 CMD 并输入以下指令来启动 MySQL 服务并跳过权限表验证: ```bash net stop mysql mysqld --skip-grant-tables ``` 接着打开另一个 CMD 窗口连接到 MySQL 数据库服务器,并执行更新 root 密码的操作[^1]: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 最后重启 MySQL 服务使更改生效。 #### 方法二:使用 Debian-Sys-Maint 用户恢复访问 如果是在 Ubuntu 或其他 Linux 发行版上,则可以通过读取 `/etc/mysql/debian.cnf` 文件获取内置管理员账户的信息[^4]: ```bash cat /etc/mysql/debian.cnf ``` 利用此文件内的凭证以特殊用户身份进入 MySQL 控制台: ```bash mysql -u debian-sys-maint -p ``` 之后按照需求重新配置或创建新的 root 用户账号及其权限。 #### 方法三:调整认证插件方式 有时默认的身份验证机制可能导致兼容性问题。可以考虑更改为传统的基于密码的方式来进行身份验证。这涉及到编辑 my.ini/my.cnf 配置文件,在 `[mysqld]` 段落添加如下参数[^2]: ```ini default_authentication_plugin=mysql_native_password ``` 保存修改后的配置文件,重启 MySQL 服务后再试一次登录过程。 #### 注意事项 - 在实施上述任何一种修复措施前,请务必做好数据备份工作以防万一。 - 如果不确定具体原因所在,建议逐一排查直至找到最适合当前情况的办法。 - 对于生产环境中使用的数据库实例应格外谨慎行事,最好先在一个测试副本上练习这些步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值