安装Mysql 5.6,到Applying security settings时报错:Access denied for user 'root'@'localhost' (using password

本文介绍了一种常见的MySQL安装过程中遇到的问题及解决方法。当使用空密码进行安装时,可能会出现Access denied for user 'root' @ 'localhost'的错误。通过连接到MySQL并更新root用户的密码为空可以解决这个问题。


报错:Access denied for user 'root'@'localhost' (using password: NO) 

猜测原因:之前装过mysql,估计是没卸载干净,本次安装时,current password输入为空,导致后来安装时出现报错。

解决办法:

1.连接mysql,选择mysql


2.修改root的密码,设置为空,和本次安装设置的current password一致。这样再次安装就可以了。



当在应用Puppet清单执行mysql命令出现 `ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)` 错误,这通常意味着使用的密码不正确,或者用户没有相应的权限。以下是一些可能的解决办法: ### 检查密码 - **确认密码准确性**:首先要确保在Puppet清单中使用的MySQL `root` 用户密码是正确的。可以手动登录MySQL来验证密码是否正确。 ```bash mysql -u root -p ``` 输入密码后,如果能够成功登录,说明密码是正确的;若无法登录,则需要重置密码。 - **重置密码**:如果忘记了 `root` 密码,可以通过以下步骤重置: 1. 停止MySQL服务: ```bash sudo systemctl stop mysql ``` 2. 以跳过权限检查的方式启动MySQL: ```bash sudo mysqld_safe --skip-grant-tables & ``` 3. 登录MySQL: ```bash mysql -u root ``` 4. 刷新权限表并更新密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 5. 退出MySQL并停止当前的MySQL实例: ```bash exit sudo pkill -f mysqld_safe ``` 6. 正常启动MySQL服务: ```bash sudo systemctl start mysql ``` ### 检查用户权限 - **确认用户权限**:确保 `root` 用户对所需的数据库和表有足够的权限。可以通过以下命令查看和修改权限: ```sql -- 查看权限 SHOW GRANTS FOR 'root'@'localhost'; -- 授予所有权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` ### 检查Puppet清单配置 - **确保密码正确配置**:在Puppet清单中,要确保使用的密码与实际的MySQL `root` 用户密码一致。例如,在Puppet的 `mysql::db` 资源中: ```puppet class { 'mysql::server': root_password => 'your_root_password', } mysql::db { 'your_database': user => 'root', password => 'your_root_password', host => 'localhost', grant => ['ALL'], } ``` ### 检查网络和套接字 - **确认连接方式**:确保使用的是正确的连接方式(如TCP/IP或Unix套接字)。有候,使用错误的连接方式也会导致权限问题。可以尝试指定套接字文件: ```bash mysql -u root -p --socket=/var/run/mysqld/mysqld.sock ``` ### 检查SELinux或AppArmor - **临禁用SELinux或AppArmor**:有候,SELinux或AppArmor等安全机制会阻止MySQL的正常访问。可以临禁用它们来进行测试: ```bash # 临禁用SELinux sudo setenforce 0 # 临禁用AppArmor(针对Ubuntu等系统) sudo systemctl stop apparmor sudo systemctl disable apparmor ``` 如果禁用后问题解决,说明是安全机制的限制,需要进一步配置SELinux或AppArmor规则。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值