当我们登录mysql数据库的时候,最非常容易遇上1044报错。而在mysql中1044意味着什么呢?用最通俗的话来形容就是:没权限,密码错误。
针对这一在mysql数据库中一直让大家头痛的难题,树懒君将通过本文进行解析,希望能给使用MySQL的大家带来帮助。
产生1044报错的原因是mysql账号远程连接mysql服务器时沒有充足的权限。
当mysql安装完成之后,默认设置仅容许”localhost”进行连接。所以大部分服务器端脚本程序可以很方便的联接到本地服务器的数据库,但却会被远程服务器拦截,直到授予足够的用户权限。
MySQL访问管理涉及两个过程:
注意:在Navicat中,假如您的远程服务器适用SSH联接,Navicat将可以根据SSH与远程MySQL数据库联接,而不对已有MySQL权限设置做出任何的改动。该隧道的SSH的关键优势是它允许我们可以绕过防火墙拦截连接到MySQL服务器的端口。
具体解决方案如下:
方法一:修改密码
1.关掉mysql
service mysqld stop
2.屏蔽掉权限
mysqld_safe --skip-grant-table
显示:Starting demo from .....
3.在新开终端中输入
mysql -u root mysql
mysql> UPDATE user SET Password = PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> \q
方法二:如果有匿名用户,必须将匿名用户删掉
1.关掉mysql
service mysqld stop
2.屏蔽掉权限
mysqld_safe --skip-grant-table
显示:Starting demo from .....
3.在新开终端中输入
mysql -u root mysql
mysql> delete from user where USER='';
mysql> FLUSH PRIVILEGES;
mysql> \q