Linux连接MySQL出现1045错误 解决方法

开始使用Linux连接MySQL数据库的时候,出现了1045错误。当出现这个问题的时候,应该是用户被数据库拒绝访问了,我们应该为你的数据库开辟权限。

1.登录数据库输入linux指令

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. mysql -uroot -padmin  

登录你的数据库输入用户名和密码

2.使用数据库,查询权限

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. mysql> use mysql;   
[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. mysql> select host,user from user;  

+--------+--------------+
| user   | host         |
+--------+--------------+
| myuser | %            |
| root   | %            |
| server | %            |
| root   | 127.0.0.1    |
| root   | 192.168.1.60 |
| ted    | 192.168.1.60 |
| xuys   | 192.168.1.60 |
| root   | ::1          |
|        | iz94w6ieqtwz |
| root   | iz94w6ieqtwz |
|        | localhost    |
| root   | localhost    |
+--------+--------------+

可以查询用户和权限

3.想要远程mysql服务器,需要增加普通权限的用户

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. mysql> grant select,update,insert,delete on mas.* to root@localhost identified by "admin";  

这句命令的意思是:新建用户root,并且只允许该用户在本地(localhost)登录,密码是admin,并且赋予它对mas库中所有表select,update,insert的权限。我们在这有一个mas库,所以用mas.*代表mas库下的所有表。 现在该root用户,已经可以登录mysql了,但是也还是只能本地登录。

若要想root用户可以远程登录mysql,则还需要以下命令:

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. mysql> update user set host = '%' where user = 'root';  

我们也可以直接给用户权限

grant all on *.* to 用户名@"%" identified by "密码";

flush privileges;刷新权限

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章