mysql创建用户及远程登陆-阿里云开发者社区

开发者社区> 数据库> 正文

mysql创建用户及远程登陆

简介:

用户账号及权限管理:

                显示所有的用户,只需要查看mysql库中的user表。

                    select User,Host,Password from mysql.user;

                    最后别选择查看所有,因为会很多项目,头大。

用户账号:'user'@'host'

user: 用户名

host: 此用户访问mysqld服务时允许通过哪些主机远程创建连接;

IP、网络地址、主机名、通配符(%和_); 


禁止检查主机名:

my.cnf, [mysqld]

skip_name_resolve = yes


创建用户账号:

CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];

                    假如在主机192.168.18.9的mysql中创建的用户

                      CREATE USER 'jixiang'@'192.168.18.200' IDENTIFIED BY '150370992390kd'

    然后我们用192.168.18.200的主机登陆192.168.18.9中的mysql

                      mysql -ujixiang -h192.168.18.9 -p150370992390kd

                    这里192.168.18.9的主机必须保证防火墙关闭,且mariadb开启。

                                        

                删除用户:

DROP USER 'username'@'host';


授权:

权限级别:管理权限、数据库、表、字段、存储例程;


GRANT priv_type,... ON [object_type] db_name.tb_name TO 'user'@'host' [IDENTIFIED BY 'password'] [WITH GRANT OPTION];


priv_type: ALL [PRIVILEGES]

                                        还有库的create drop alter 表级的intsert select delete update 等等

db_name.tb_name:

*.*: 所有库的所表;

db_name.*: 指定库的所有表;

db_name.tb_name: 指定库的指定表;

db_name.routine_name:指定库的存储例程;


查看指定用户获得的授权:

SHOW GRANTS FOR 'user'@'host'; 


SHOW GRANTS FOR CURRENT_USER;


回收授权:

REVOKE priv_type, ... ON db_name.tb_name FROM 'user'@'host';


注意:MariaDB服务进程启动时会读取mysql库中的所有授权表至内存中;

(1) GRANT或REVOKE等执行权限操作会保存于表中,MariaDB的服务进程会自动重读授权表;

(2) 对于不能够或不能及时重读授权表的命令,可手动让MariaDB的服务进程重读授权表:

mysql> FLUSH PRIVILEGES;  




本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1953154,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章