mysql数据库 q_[基础]MySQL数据库及用户管理

MySQL是最受欢迎的开源关系数据库管理系统(MariaDB是MySQL的一个分支,完全兼容MySQL)。  MySQL服务器允许我们创建大量用户和数据库并授予适当的权限,以便用户可以访问和管理数据库。

安装MySQL

首先,安装MySQL数据库的服务器及客户端:

3676b3246b2b26bca445637b6ccd7a91.png

b4c93416366eb083d3f66bbd57b00ec9.png

安装成功后,可使用MySQL默认用户root登录数据库服务器:

mysql -u root -p

创建一个新的MySQL数据库

要创建新的MySQL数据库,请运行以下命令,只需将scott替换为要创建的数据库的名称即可:

CREATE DATABASE IF NOT EXISTS scott;

输出:

Query OK, 1 row affected (0.00 sec)

列出所有MySQL数据库

我们可以使用以下命令列出MySQL或MariaDB服务器上存在的所有数据库:

SHOW DATABASES;

输出:

information_schema,mysql,performance_schema数据库是在安装时创建的,它们存储有关所有其他数据库,系统配置,用户,权限和其他重要数据的信息。  这些数据库对于MySQL安装的正确功能是必需的。

删除一个MySQL数据库

要删除MySQL或MariaDB,请运行以下命令:

DROP DATABASE IF EXISTS scott;

输出:

Query OK, 1 rows affected(0.00 sec)

在上面的输出中,您可以看到Query OK,这意味着查询成功,并且有1个警告告诉我们数据库不存在。

创建一个新的MySQL用户

MySQL中的用户帐户由用户名和主机名部分组成。以下命令创建一个新的用户tester,密码为passwd:

CREATE USER 'tester'@'localhost' IDENTIFIED BY 'passwd';

在上面的命令中,我们将主机名部分设置为localhost,这意味着该用户将只能从本地主机(即从运行MySQL服务器的系统)连接到MySQL服务器。  如果想授予来自其他主机的访问权限,只需使用远程计算机IP更改本地主机,或者为主机部分使用'%'通配符。

与使用数据库时一样,在尝试创建已存在的用户帐户时可避免出现错误,您可以使用:

CREATE USER IF NOT EXISTS 'tester'@'localhost' IDENTIFIED BY  'passwd';

输出:

Query OK, 1 rows affected(0.00 sec)

更改MySQL用户密码

root用户登录mysql后执行以下命令更改密码:

update user set password=password('passwd') where user='tester' and host='localhost';

列出所有MySQL用户

我们可以通过查询mysql.users表来列出所有MySQL或MariaDB用户帐户:

删除MySQL用户

要删除用户帐户,请使用以下命令:

DROP USER IF EXISTS 'tester'@'localhost';

输出:

Query OK, 1 rows affected(0.00 sec)

授予MySQL用户的权限

有多种类型的权限可以授予用户帐户。 您可以在这里找到MySQL支持的完整权限列表。  例子:

要通过特定数据库将用户帐户的所有权限扩大,请使用以下命令:

GRANT ALL PRIVILEGES ON scott.* TO 'tester'@'localhost';

要将所有权限扩展到所有数据库上的用户帐户,请使用以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'tester'@'localhost';

如果您只想授予特定数据库类型的用户帐户的特定权限,请执行以下操作:

GRANT SELECT, INSERT, DELETE ON scott.* TO  'tester'@'localhost';

撤销MySQL用户的权限

如果您需要从用户帐户中撤销一个或多个权限或所有权限,则语法与授予它的几乎相同。 例如,如果要通过特定数据库撤消用户帐户的所有特权,请使用以下命令:

REVOKE ALL PRIVILEGES ON scott.* TO 'tester'@'localhost';

显示MySQL用户权限

要查找授予特定MySQL用户帐户类型的权限:

SHOW GRANTS FOR 'tester'@'localhost';

显示:

+---------------------------------------------------------------------------+

|  Grants for tester@localhost                                       |

+---------------------------------------------------------------------------+

|  GRANT USAGE ON *.* TO 'tester'@'localhost'                        |

|  GRANT ALL PRIVILEGES ON `scott`.* TO 'tester'@'localhost'  |

+---------------------------------------------------------------------------+

2  rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值