MySQL Access denied错误的缘故情由
作者:天极软件 起原:天极软件
当你试着联接MySQL效劳器时,如果你遇到Access denied
错误,显示在下面的表指出一些你能用来纠正这个成绩的举措:
- 你是在安装MySQL当前运转
mysql_install_db
的剧本,来设置初始授权表内容吗?如果不是,如许做。见6.10 设置初始MySQL权限。经过过程实验这个命令测试初始权限:shell> mysql -u root test
效劳器应该让你无误地毗连。你也应该保证你在MySQL数据库目录有一个文件“user.MYD”。屡屡,它是“PATH/var/mysql/user.MYD”,在此
PATH
是MySQL安装根目录的途径。 - 在一个新的安装当前,你应该毗连效劳器而且设置你的用户及其存取答应:
shell> mysql -u root mysql
效劳器应该让你毗连,由于MySQL
root
用户初始时没有口令。既然那也是一个安全风险,当你正在设置其他MySQL用户时,设定root
口令是一件首要的事请。如果你作为root
考试考试毗连而且掉掉这个错误:Access denied for user: '@unknown' to database mysql
这意味着,你没有一个条款在
user
表中的一个User
列值为'root'
而且mysqld
不克不及为你的客库理会主机名。在这种状态下,你必须用--skip-grant-tables
选项重启效劳器而且编辑你的“/etc/hosts”或“windowshosts”文件为你的主机添加一个条款。 - 如果你从一个3.22.11从前的版本更新一个现存的MySQL安装到3.22.11版或当前版本,你运转了
mysql_fix_privilege_tables
剧本吗?如果没有,运转它。在GRANT
语句变得能事项时,授权表的结构用MySQL 3.22.11批改 。 - 如果你间接对授权表做批改(使用
INSERT
或UPDATE
语句)而且你的改动似乎被忽略,记取,你必须收回一个FLUSH PRIVILEGES
语句或实验一个mysqladmin flush-privileges
命令招致效劳器再次读入表,否则你的改动要道下一次效劳器被重启时再掉效。记取在你设定root
口令当前,你将不需求指定它,直到在你洗濯(flush)权限当前,由于效劳器仍然不会晓得你改动了口令! - 如果你的权限似乎在一个会话(session)当中改动了,可以是一个超等用户改动了他们。再次装入授权表感化于新客户毗连,可是它也影响现存的毗连,如6.9 权限改动何时掉效末节所述。
- 为了测试,用
--skip-grant-tables
选项启动mysqld
守护过程,然后你可以改动MySQL授权表而且使用mysqlaccess
剧本反省你的批改可否有如期的成绩。当你对你的改动舒适时,实验mysqladmin flush-privileges
通知mysqld
效劳器初步使用新的权限表。详尽:再次装入授权表袒护了--skip-grant-tables
选项。这答应你通知效劳器初步使用授权表,而不用停损掉偏重启它。 - 如果你有一个Perl、Python或ODBC步调的存取成绩,试着用
mysql -u user_name db_name
或mysql -u user_name -pyour_pass db_name
与效劳器毗连。如果你能用mysql
客户毗连,这是你步调的一个成绩而不是存取权限的成绩。(详尽在-p
和口令之间没有空格;你也能使用--password=your_pass
句法指定口令。) - 如果你不克不及让口令事项,记得如果你用
INSERT
,UPDATE
或SET PASSWORD
语句设置口令,你必须使用PASSWORD()
函数。如果你用GRANT ... INDENTIFIED BY
语句或mysqladmin password
命令指定口令,PASSWORD()
函数是不需求的。见6.12 怎样设置口令。 localhost
是你当地主机名的一个同义词,而且也是如果你不大年夜白地指定主机而客户考试考试毗连的缺省主机。但是,如果你正在运转于一个使用MIT-pthreads的系统上,毗连localhost
是不行的(localhost
毗连使用Unix套接字举办,它没被 MIT-pthreads撑持),为了在如许的系统上抑制这个成绩,你应该使用--host
选项大年夜白地定名效劳器主机,这将做一个 TCP/IP毗连到mysqld
效劳器。在这种状态下,你必须有在效劳器主机上的user
表中条款标你真实的主机名。(纵然你在效劳器一致台的主机上运转一个客户步调,这也是真的。)- 当考试考试用
mysql -u user_name db_name
与数据库毗连时,如果你掉掉一个Access denied
错误,你可以有与user
桌有关的成绩,经过过程实验mysql -u root mysql
而且收回下面的SQL语句反省:mysql> SELECT * FROM user;
成绩应该包罗一个有
Host
和User
列的条款受室你的盘算机主机名和你的MySQL用户名。 Access denied
错误消息将通知你,你正在用哪个用户考试考试登录,你正在试图用毗连哪个主机,而且你可否正在使用一个口令。屡屡,你应该在user
表中有一个条款,切确地受室在错误消息给出的主机名和用户名。- 如果当你试着从一个不是MySQL效劳器正在运转的主机上毗连时,你掉掉下列错误,那么在
user
表中没有受室那台主机行:Host ... is not allowed to connect to this MySQL server
你可以经过过程使用
mysql
命令行对象(在效劳器主机上!)批改它,把你正在试图毗连的用户/主机名组合新加一行到user
表中。如果你不在运转MySQL 3.22而且你不晓得你正在从它毗连的机械的IP数字或主机名,你应该把一个'%'
条款作为Host
列值放在user
表中而且在效劳器机械上使用--log
选项重启mysqld
。在试图从客户机械毗连当前,在MySQL记载文件中的信息将显示你怎样真正举办毗连。(然后用在记载文件下面显示出的理想的主机名替代user
表中的'%'
条款。否则,你将有一个不服安的系统。) - 如果
mysql -u root test
事项可是mysql -h your_hostname -u root test
招致Access denied
,那么在user
表中你可以没有你的主机的切确名字。这里的一个普及的成绩是在user
表条款中的Host
值指定一个独一的主机名,可是你系统的名字理会例程前去一个完全正轨的域名(或相反)。例如,如果你在user
表中有一个主机是'tcx'
的条款,可是你的 DNS通知MySQL你的主机名是'tcx.subnet.se'
,条款将不事项。考试考试把一个条款加到user
表中,它包罗你主机的IP数字作为Host
列的值。(其他,你可以把一个条款加到user
表中,它有包罗一个通配符如'tcx.%'
的Host
值。但是,使用以“%”扫尾的主机名是不服安的而且不举荐!) - 如果
mysql -u user_name test
事项可是mysql -u user_name other_db_name
不事项,对other_db_name
,你在db
表中没有没有一个条款列出。 - 当在效劳器机械上实验
mysql -u user_name db_name
时,它事项,可是在别的客户机械上实验mysql -h host_name -u user_name db_name
时,它却不事项,你没有把客户机械列在user
表或db
表中。 - 如果你不克不及弄大年夜白你为什么掉掉
Access denied
,从user
表中删除一切Host
包罗通配符值的条款(包罗“%”或“_”的条款)。一个很普及的错误是拔出用Host
='%'
和User
='some user'
拔出一个新条款,感受感染这将答应你指定localhost
从一致台机械举办毗连。它不事项的缘故情由是缺省权限包罗一个有Host
='localhost'
和User
=''
的条款,由于那个条款一个比'%'
更具体的Host
值'localhost'
,当从localhost
毗连时,它用于指向新条款!切确的步调是拔出Host
='localhost'
和User
='some_user'
的第2个条款,或删除Host
='localhost'
和User
=''
条款。 - 如果你掉掉下列错误,你可以有一个与
db
或host
表有关的成绩:Access to database denied
如果从
db
表中选择了在Host
列有空值的条款,保证在host
表中有一个或多个呼应的条款,指定运用db
表中的哪些主机。如果在使用SQL命令SELECT ... INTO OUTFILE
或LOAD DATA INFILE
时,你掉掉错误,在user
表中的你的条款可以启用file权限。 - 记取,客户步调将使用在设置装备陈设文件或情况变量被指定了的毗连参数。如果当你不在命令行上指定他们时,一个客户似乎正在发送错误的缺省毗连参数,反省你的情况和在你的主目录下的“.my.cnf”文件。你也可以反省系统范畴的MySQL设置装备陈设文件,当然更不可能将在哪里指定那个客户的毗连参数。见4.15.4 选项文件。如果当你没有任何选项运转一个客户时,你掉掉
Access denied
,确认你没在任何选项文件里指定一个旧的口令!见4.15.4 选项文件。 - 如果任何别的事项掉败,用调试选项(例如,
--debug=d,general,query
)启动mysqld
守护过程。这将打印有关考试考试毗连的主机和用户信息,和收回的每个命令的信息。见G.1 调试一个MySQL效劳器。 - 如果你有任何与MySQL授权表的别的成绩,而且感受感染你必须邮寄这个成绩到邮寄表,总是供应一个MySQL授权表的倾倒正本(dump)。你可用
mysqldump mysql
命令倾倒数据库表。象伟大年夜一样,用mysqlbug
剧本邮寄你的成绩。在一些状态下你可以用--skip-grant-tables
重启mysqld
以便能运转mysqldump
。
版权声明: 原创作品,答应转载,转载时请务必以超链接形式标明文章 原始情由 、作者信息和本声明。否则将清查规律责任。
转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975255.html
MySQL Access denied错误的缘故情由相关推荐
- mysql Access denied for user root@localhost错误处理备忘
好久没有使用mysql,突然想起来打开一个以前的mysql数据库的项目看看,结果打开页面时出错,提示为:mysql Access denied for user root@localhost错误 百度 ...
- MySql access denied for user错误
MySql access denied for user错误 | 浏览:2812 | 更新:2014-11-27 11:16 MySql access denied for user错误 方法/步骤 ...
- mysql连接access失败_我用工具怎么连接不上mysql数据库的? MySql access denied for user错误...
MySql access denied for user错误 方法/步骤 MySql远程连接时的"access denied for user **@**"错误,搞的我很头大,后来 ...
- 解决mysql“Access denied for user 'root'@'localhost'”
2019独角兽企业重金招聘Python工程师标准>>> 解决mysql"Access denied for user 'root'@'localhost'" 我的 ...
- MySQL 连接报错:mysql access denied for user@ip
故障描述: 在VM中有MySQL,但是在PC中通过Navicat连接时,报如下错误: m1045 - mysql access denied for 'root'@IP 解决方法: 执行如下命令: G ...
- Access denied错误的原因
当你试着联接MySQL服务器时,如果你碰到Access denied错误,显示在下面的表指出一些你能用来更正这个问题的动作: 你是在安装MySQL以后运行mysql_install_db的脚本,来设置 ...
- 解决mysql“Access denied for user‘root‘@‘IP地址‘“问题
解决mysql"Access denied for user'root'@'IP地址'"问题 参考文章: (1)解决mysql"Access denied for use ...
- Tomcat 9.0.6 HostManager页面 403 Access Denied 错误
版本:Tomcat 9.0.6 问题:访问HostManager页面出现 Access Denied 错误 403 Access Denied You are not authorized to vi ...
- nginx php access denied,LNMP 解决Access Denied错误详细介绍
处理搭建好LNMP环境之后,呈现了Access Denied错误 搭建好LNMP环境之后,呈现了Access Denied错误,现已扫除掉文件权限的问题也扫除掉是Nginx的问题,而是无法解析PHP的 ...
最新文章
- MyBatis下MySqL用户口令不能为空
- python合并数组输出重复项_python - 不同数组项的所有可能组合[重复] - 堆栈内存溢出...
- 查找某一字符串在目标字符串中所在的位置
- STM32驱动ST7920的12864液晶(串行方式)
- 【luogu4145】 上帝造题的七分钟2 / 花神游历各国 [线段树]
- JS数组 团里添加新成员(向数组增加一个新元素)只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素。myarray[5]=88;...
- python网页制作web_python web麻瓜编程
- android判断图片是否模糊,Android 图片模糊 性能总结
- matlab分离实部虚部,MATLAB/simulink中,想让电流表测出的值为复数形式,有实部虚部,将powergui设置为phasors仿真,总是出错...
- 红蜘蛛多媒体软件怎么停---超简单
- 转:标准差(Standard Deviation) 和 标准误差(Standard Error)
- flutter 必须掌握的CustomScrollView及Sliver类型控件的几种使用
- “构建全球科技创新生态科技思想家”王煜全如是说(2019.4.23清水湾思享会第13期嘉宾)...
- 如何阻止搜索引擎收录指定网页
- Jquery WeUI(一)
- BH1750简单介绍
- 小程序流量主广告赚钱
- javaSwing+MySQl实现图书馆登录页面(完整)
- 微信公众号支付详细步骤(整理)
- php $this-%3euid,码 | 保利威帮助中心 - Part 3
热门文章
- web页面到ajax,页面使用ajax加载页面后如果运行其中的js,webpack如何多页面展示...
- python推荐哪个系统好_什么是好的推荐系统?
- javascript中的变量
- python-15:装饰函数之一
- git 本地仓库同时推送到多个远程仓库
- mongodb 学习笔记 2 --- 修改器
- 三种css样式表及其优先级
- centos下安装apache+mysql5.7.13+php5.3.3+phpmyadmin4.0.10
- Battery Historian 使用常用命令
- mysql 主从单库单表同步 binlog-do-db replicate-do-db