mysql建立用户及远程登录

2021年09月15日 阅读数:1
这篇文章主要向大家介绍mysql建立用户及远程登录,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。


用户帐号及权限管理:mysql

                显示全部的用户,只须要查看mysql库中的user表。
sql

                    select User,Host,Password from mysql.user;
数据库

                    最后别选择查看全部,由于会不少项目,头大。
网络

用户帐号:'user'@'host'ide

user: 用户名spa

host: 此用户访问mysqld服务时容许经过哪些主机远程建立链接;进程

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


禁止检查主机名:内存

my.cnf, [mysqld]it

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;