MySQL数据库用户创建、修改、授权及远程访问

MySQL数据用户创建

1.使用CREATE USER创建用户

语法: CREATE USER 用户1 [ IDENTIFIED BY ‘password’ ] [,用户2 [ IDENTIFIED
BY ‘password’ ]]
其中用户的格式为:‘user_name’@‘host_ip’ ;host_ip:为允许访问的ip
如在本地访问可为:‘locahost’或’127.0.0.1’
如需指定远程ip使用该用户:则设置为远程主机的ip地址
如果完全开放:设置为’%’(一般情况下还是不使用较为安全) 可以不设定初始密码(不推荐,及其不安全) 同时创建多用户,只需用逗号隔开 注:创建用户时需要注意当前用户的权限需要含有( INSERT 权限或全局 CREATE USER权限),权限过低将不能创建。

2.使用 INSERT 新建用户

语法: INSERT INTO mysql.user(Host, User, authentication_string,ssl_cipher, x509_issuer, x509_subject) VALUES (‘hostname’, ‘username’,PASSWORD(‘password’), ‘’, ‘’, ‘’);
authentication_string:为密码

修改删除用户

1.查看数据库所有用户

查询数据库已有的用户可通过sql语句: SELECT * FROM mysql.user;
进行查询,但其查询出来的结果位置错乱不直观,可通过下条语句进行查询

 SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
2.查询指定用户的权限

语法: SHOW GRANTS FOR ‘user_name’@‘host’; 结果: GRANT (权限) ON (*
数据库).(* 表) TO ‘user_name’@‘host’ 权限: USAGE ON :没有权限 ALL
PRIVILEGES: 所有权限

3.修改用户

RENAME USER <旧用户> TO <新用户> 如: RENAME USER ‘user1’@‘localhost’ TO
‘user2’@‘127.0.0.1’;

4.删除用户

1.DROP USER [ , ]
2.DELETE FROM mysql.user WHERE Host=‘hostip’ AND User=‘user_name’; 注:删除用户将同时撤销其权限,如果未指定host则默认为’%’

用户权限授予与撤销

1.用户授权

语法: GRANT <权限名称> ON <数据库>.<表> TO <用户名> [IDENTIFIED BY [PASSWORD] ‘<密码>’][, user[IDENTIFIED BY [PASSWORD] ‘password’]] …WITH GRANT
OPTION; 注意:
1.对于用户的授权,如果没有改用户则其会自动创建该用户(mysql8以前)。
2.对于mysql数据库的版本为8以上的不支持授权时创建用户,如果授权时加入密码设置时([IDENTIFIED BY [PASSWORD] ‘<密码>’])将会报错 ERROR 1064 (42000): You have an error in
your SQL syntax; check the manual that corresponds to your MySQL
server version for the right syntax to use near 'identified by
对于8以上的版本 需要先进行用户的创建,在进行授权 对于8以下的版本可直接授权并创建
3.授权完应进行下刷新:FLUSH PRIVILEGES; 例:

grant all privileges on demo.* to 'user1'@'192.111.111.1' identified by 'demo123' WITH GRANT OPTION;;
grant all privileges on demo.* to 'user1'@'192.111.111.1' WITH GRANT OPTION;
2.撤销权限

1.REVOKE <权限名称>[(column_list)]…ON <数据库>.<表> FROM <用户名> [, user]…
2.删除用户的所有权限: REVOKE ALL PRIVILEGES, GRANT OPTION FROM <用户名> [, user] …

数据库的远程访问

1.在本机的数据库中创建一个可供远程主机ip访问的具有操作权限用户
2.设置完之后通过mysql> FLUSH PRIVILEGES 进行刷新,避免没创建修改成功
3.在远程主机上通过 mysql -h 要操作数据库的ip -u 用户名 -p 进行访问操作 (访问时本地可以不安装mysql ,但至少要安装客户端或最基本要有ODBC 的驱动)

对于root用户密码忘记了咋办呢?看这个:经验积累——忘记mysql的登录密码时的骚操作

本文为编程小白自学问题归纳,如有错误与不足敬请指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值