MySQL远程连接与用户授权SQL语句
前段时间,本人开发时配好了druid多数据源,但是有个MySQL库怎么查询也不行,最后登录对方数据库服务器,发现远程服务器没有授权开发地址的IP,每次就是卡在这样的事情上。。。都是神队友啊。以下是相关的授权语句,喜欢自取~~
- 查看支持的远程访问的主机地址+用户,mysql系统库的user表
select user, host from mysql.`user`;
- 授权远程登录的用户,WITH GRANT OPTION; 代表允许级联授权;%代表所有IP,实际应用中可换为具体IP
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
- 或者更新mysql的user表将root用户的远程访问权限更新为%
update mysql.`user` set host="%" where user="root";
- 刷新权限表, 让刚才授权的权限生效(一定记得刷新权限啊)
FLUSH PRIVILEGES;
附:
- 新增用户及密码,@后面为主机地址,identified by后面为密码
create USER 'hmh2'@'localhost' identified by '123456';
- 对用户进行授权,@后面为host地址(此处授予select权限)
grant select on *.* to 'hmh2'@'localhost' identified by '123456';
- 刷新权限并应用(记得刷新授权哈)
flush privileges;
- 取消用户的所有数据库(表)的所有权限授权,@后面为主机名称,必须要匹配对应
REVOKE ALL ON *.* FROM 'hmh2'@'%' ;
- 删除用户
DELETE FROM mysql.`user` where user='hmh2';