解决MySQL“Access denied”错误:用户权限与主机配置详解

“访问”,说白了就是一个权限问题。
我上周刚刚处理过一个,只是其中一种情况。

用户提问: 1 .用户名不正确 2 .密码输入错误 3 、数据库迁移不同步用户权限: 1 、用户拥有,但未授予数据库权限。
2 . 用户权限不足,无法执行SELECT/INSERT。
3 .主机限制,例如只能从localhost连接,但使用外部IP
解决方案: 1 、使用root账号登录MySQL 2 、查看users表:SELECTUser,HostFROMmysql.user; 3 、创建用户: CREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password'; 4 、授权: GRANTSELECTONdb.TO'newuser'@'localhost'; 5 、刷新权限:FLUSHPRIVILEGES; 6 .应用配置控制: 确认DB_HOST、DB_USER、DB_PASS、DB_NAME都是安全的建议: 1 .最低权限,不要使用GRANTALL 2 .IP限制,不要使用% 3 .密码强度高,定期更换
如何查看? 1 、防火墙是否屏蔽了3 3 06 端口? 2 . 用户的host字段是否正确? 3 .检查是否存在误用GRANT命令
迁移问题? 1 .导出时使用mysqldump例程 2 .重置用户授权
自己看。

mysql ERROR 1045 : 错误解决办法

哦,是的,是的,MySQLERROR1 04 5 ...这个错误相当烦人。
我之前2 02 2 年在北京就遇到过这种情况,花了一上午的时间。

此错误意味着您无法访问数据库。
要么是用户名不正确,要么是密码输入错误。
然后就是权限不够。

后来我意识到我必须先想办法进入系统。
那时我的电脑是Windows。
在 MySQL 安装目录中找到名为 my.ini 的配置文件。
用记事本打开它。

查找里面的 mysqld 部分。
然后添加一行:Skip-Grant-tables。
救援。
保存时,如果出现错误,我会先将文件复制到桌面并进行更改,更改后重新设置。

然后,重新启动MySQL服务。
在服务经理中。
或者使用命令行:net stop mysql,然后net start mysql。

服务已停止并将重新启动。
现在你回到命令行mysql -u root -p。
不要输入任何密码,只需按 Enter。
刚进去。

登录后,数据库为空。
没有什么。
我很困惑。
后来我知道必须先选择数据库。
命令用法:use mysql;。

然后重置您的密码。
我当时使用的是update语句:update user set password=PASSWORD('1 2 3 4 5 6 ') where user='root';。
这个需要引用一下。
然后执行它。
然后刷新特权;。

密码已更改。
然后退出MySQL。

返回 my.ini 文件并删除 Skip-Grant-tables 行。
救援。
重新启动服务。
这次就正常了。

你试试这个方法。
否则也许我太极端了。
或者你的版本不一样。
2 02 2 年MySQL将会有相当多的版本。
我所说的是较旧的方法。

PHP警告:mysql_connect():拒绝访问用户“根”@“localhost”(使用密码:

说实话,MySQL通常有两个问题:密码错误或权限缺失。

解决方法如下:
第一步,用数据库管理工具看看能否登录。
比如Navicat之类的软件。
使用之前的账号和密码登录。
如果可以访问,请检查软件,看看该用户有哪些权限。
如果您无法登录,则必须重置密码。

Windows系统怎么办?
1 .首先以管理员身份登录系统 2 、打开cmd输入netstart命令查看mysql是否已经启动。
如果它已启动,请键入 netstopmysql 将其禁用。
3 .我的MySQL安装在位置d:\usr\local\mysql4 \bin 4 . 启动mysql跳过权限检查。
输入命令 d:\usr\local\mysql\bin\mysqld-nt--skip-grant-tables 5 .打开另一个cmd并进入d:\usr\local\mysql4 \bin文件夹。
输入d:\usr\local\mysql\bin\mysqladmin -urootflush-privilegespassword“新密码”。
您必须在此处输入新密码 6 、输入密码后,输入d:\usr\local\mysql\bin\mysqladmin-uroot-pshutdown。
系统会提示您重新输入密码
Linux系统怎么办?
1 .首先,杀掉系统中的mysql进程。
键入killall-TERMMySQLd命令 2 、使用safe_MySQLd--skip-grant-tables命令启动mysql,不检查权限。
3 . 以 root 用户身份登录,密码为空 4 . 更改root密码。
输入命令 updateMySQL.usersetpassword=PASSWORD('新密码')whereUser='root';然后输入刷新权限;然后输入 quit
完成此操作,mysql 将能够使用新密码登录。