时间:2021-07-01 10:21:17 帮助过:11人阅读
远程链接数据库:
登录远程的mysql命令:
/*
* 用root用户链接172.20.60.2端口为3306下面的mysql的spectergk数据库
*/
mysql -h 172.20.60.2 -P 3306 -u root -p spectergk 输入密码后报下面的错误: ERROR 1130 (HY000): Host ‘10.18.21.143‘ is not allowed to connect to this MySQL server 从错误中可以看出10.18.21.43 没有权限链接数据库spectergk,所以我们要在自己的mysql中设置mysql的的权限,具体步骤如下: 首先登录自己的mysql: mysql -u root -p mysql 方法一(练习的就可以,项目推荐方法二): 1、产看下自己的user表下面的数据: select user,host from user; 结果:可以看到root对应的host是127.0.0.1这个时候我们可以直接对127.0.0.1进行修改为自己的IP地址
如:
update user set host = ‘10.18.21.143‘ where user = ‘root‘;
FLUSH PRIVILEGES;
在查看的话如下:
这样远程的可以登录了 但是发现自己登录不上了,这时候我们把 update user set host = ‘%‘ where user = ‘root‘; FLUSH PRIVILEGES; % 代表所有的host可以登录,这样的只是做练习可以,项目的话是不可能的了。 现在mysql中的sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,这样的话限制了用insert的来插入用户,这里就不在具体的来介绍了。 方法二:(建议使用) 我们使用:GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION; 来完成对于用户对数据库权限的设置
ALL PRIVILEGES 是所有的权限,也可以是insert,select,delete的
*.* 所授权的数据库,也可以是数据库的一张表
‘myuser‘@‘%‘ 用户名@host 这里的% 代表所有的host
IDENTIFIED BY 让用户登录的密码
GRANT OPTION 将这些权限 grant 给其他用户,不一定是root
例子:
GRANT ALL PRIVILEGES ON spectergk.* TO ‘test‘@‘%‘IDENTIFIED BY ‘111111‘ WITH GRANT OPTION;
用test登录spectergk 被授予了所有的权限。
如果在实际开发中,没有权限的话,可以直接联系DBA统一管理。
MySql 远程权限的控制简单配置
标签:word dba 插入 登录 限制 nbsp 例子 ip地址 ide