如果遇到下述错误,表示当启动mysqld时或重新加载授权表时,在用户表中发现具有非法密码的账户。
发现用户'some_user'@'some_host'密码错误:忽略用户。
作为其结果,许可系统将简单忽略账户。
在下面的介绍中,指明了可能的原因和问题的更正措施:
1. 或许,你正打算用旧的用户表运行新版本的mysqld。执行mysqlshow mysql user检查Password(密码)列是否短于16个字符,通过该方式可检查该问题。如果结果是肯定的,可运行脚本/add_long_password脚本更正该问题。
2. 账户具有旧的密码(8字符长),而且未使用“--old-protocol”选项启动mysqld。更新用户表中的账户,使之具有新的密码,或使用“--old-protocol”选项重启mysqld。
3. 在用户表中未使用PASSWORD()函数指定了密码。使用mysql用新密码更新用户表中的账户,务必使用PASSWORD()函数:
4. mysql> UPDATE user SET Password=PASSWORD('newpwd') 5. -> WHERE User='some_user' AND Host='some_host';
如果遇到下述错误之一,通常意味着当前数据库中不存在具有给定名称的表:
表'tbl_name'不存在 无法找到文件:'tbl_name' (errno: 2)
在某些情况下,表或许存在,但未正确引用它:
· 由于MySQL使用目录和文件来保存数据库和表,如果它们位于区分文件名大小写的文件系统上,数据库和表名也区分文件大小写。
· 即使对于不区分大小写的文件系统,如Windows,在查询内对给定表的所有引用必须使用相同的大小写。
可以使用SHOW TABLES检查位于当前数据库中的表。请参见13.5.4节,“SHOW语法”。