1053报错:Windows启动报错1053
原因:修改了my.ini文件保存错误
my.ini文件保存的时候,选择ANSI编码
1396报错:MySQL-创建用户报错
创建用户:
create user ‘test’@’%’ identified by ‘test’;
显示ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’
查看是不是存在这个用户
select user from user;
发现没有这个用户。
记得上次有删除过这个用户。可能没有刷新权限
flush privileges;
之后还是不行报错ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@’%’
没办法再删除一次:
drop user ‘test’@’%’;
flush privileges;
之后
create user ‘test’@’%’ identified by ‘test’;
成功。
网上找了下原因:
Assume the user is there, so drop the user
After deleting the user, there is need to flush the mysql privileges
Now create the user.
2013报错:MySQL数据库报错2013
翻译过来是:在“读取初始通信包”时失去与MySQL服务器的连接,系统错误:0
解决方法:
在mysql配置文件中添加:
skip-name-resolve
window下是my.ini
linux下是my.cnf
添加完成后重启mysql服务器重新连接即可
MySQL数据库报错代码1130
将mysql数据库下的user表,root用户的host从localhost改为%即可
-bash mysql command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
远程无法登录MySQL1045
有可能是密码不对,也有可能是用户登录权限不行
如果是密码不对,找正确密码,或者在my.cnf添加skip-grant-tables重启MySQL
命令行登录MySQL里面,重新设置密码
update user set password=password("bcdsystem") where user="root";
或者(看MySQL版本)
update mysql.user set authentication_string=password('bcdsystem') where user='root';
FLUSH PRIVILEGES;
然后退出MySQL,把my.cnf添加的删掉,重启MySQL
如果是权限不行:命令行进入MySQL:
./mysql -uroot -p
use mysql;
select host,user from user;
如果出来的数据没有root的%,远程是不能访问的
添加远程
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
FLUSH PRIVILEGES;
如果这个时候出现报错不能修改,可能先FLUSH PRIVILEGES;再提交
如果还是报错,退出MySQL,修改my.cnf在mysqld下面添加:skip-grant-tables跳过权限,然后重启MySQL,再进行修改,记得修改完后将my.cnf改过来重启MySQL。