Mysql创建数据库并授权等常用命令

本文介绍了在Centos7环境下,使用MySQL 5.7.24进行数据库创建、用户管理以及权限分配的操作步骤。包括创建用户、创建数据库、授权用户对数据库的访问权限,如ALL PRIVILEGES、SELECT和UPDATE等,以及查看和撤销权限、删除用户和数据库的方法。此外,还提到了如何修改用户密码。

环境准备

Linux发行版本:Centos7
Mysql数据库版本:mysql-5.7.24

常用命令

  1. 以root用户登录数据库
[admin@localhost bin]$ mysql -uroot -p
Enter password: 
  1. 创建用户

命令格式:

CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
username:将要创建的用户名
host:指定该用户在哪个主机上可以登录,“localhost"指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录,将"localhost"改为”%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;
password:该用户的登录密码,密码可以为空,若为空则该用户可以不需要密码登录服务器。

例如:

CREATE USER 'test1'@'%' IDENTIFIED BY 'test123';
CREATE USER 'test2'@'localhost' IDENTIFIED BY '';
  1. 创建数据库

CREATE DATABASE testdb CHARACTER SET utf8 COLLATE utf8_general_ci;

  1. 用户授权

授权格式:

GRANT 权限 ON 数据库.表名 TO 用户名@登录主机 IDENTIFIED BY ‘密码’;

授权test1用户拥有所有数据库的所有权限:

GRANT ALL PRIVILEGES ON *.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系统权限表
如果你想限制用户只能从10.10.10.10的主机连接到testdb数据库,以上的授权语句可做如下修改:GRANT ALL PRIVILEGES ON . to ‘test1’@‘10.10.10.10’ IDENTIFIED BY ‘test123’;

授权test1用户拥有testdb数据库的所有权限:

GRANT ALL PRIVILEGES ON testdb.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系统权限表

指定部分权限给用户:

GRANT SELECT,UPDATE ON testdb.* to ‘test1’@’%’ IDENTIFIED BY ‘test123’;
FLUSH PRIVILEGES; #刷新系统权限表

  1. 查看权限列表

命令格式:

SHOW GRANTS FOR ‘用户名’@‘%‘主机名’;

  1. 撤销用户权限

REVOKE privilege ON 数据库名.表名FROM ‘用户名’@‘主机名’;

例如撤销test1用户的更新权限:

REVOKE update ON *.* FROM ‘test1’@’%’;

  1. 删除账户及权限

命令格式:

DROP USER ‘username’@‘host’;

  1. 删除数据库

命令格式:

DROP DATABASE databasename;

  1. 修改密码

mysql> use mysql; # 先切换到mysql库,在修改密码
mysql>update mysql.user set password=password(‘新密码’) where User=‘test1’ and Host=’%’;
mysql>flush privileges;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值