您的位置:首页 > 数据库 > MySQL

mysql创建用户及远程登陆

2017-08-02 23:21 190 查看
用户账号及权限管理:
显示所有的用户,只需要查看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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 用户管理