更改密码,使用 root(或者相同权限)

SET PASSWORD FOR 'username'@'hostname' = PASSWORD('new-password');

例如

mysql> SET PASSWORD FOR 'bob'@'localhost' = PASSWORD('new-secret');

启动 MySQL 命令行提示符

它使用以下命令语法启动:

mysql -u <user-with-admin-privileges> -h <hostname> -p
  • -u <user-with-admin-privileges> --> 它是 root 或者具有相同权限的另一个帐户
  • -h <hostname> --> 通常是本地主机或者数据库服务器 FQDN(完全限定域名)或者 IP
  • -p --> 使用密码保护提示执行命令
  • 例如
user@localhost$mysql -u bob -h localhost -p

更改密码,使用自己的帐户

SET PASSWORD = PASSWORD('new-password');

例如

mysql> SET PASSWORD = PASSWORD('new-secret');
MySQL - 数据库用户账户管理的常用命令

显示 MySQL 中现有数据库用户帐户的列表

SELECT <field1>,<field2>,<...> FROM mysql.user;
  • <field1>,<field2>,<...> --> 要显示的数据库字段
  • mysql.user --> MySQL 中存储现有数据库用户帐户列表的表
  • 例如
mysql> SELECT User,Host FROM mysql.user;

显示数据库用户帐户的授予权限

SHOW GRANTS FOR 'username'@'hostname';
  • 'username'@... --> 显示权限的目标用户名
  • ...@'hostname' --> 数据库服务器 FQDN(完全限定域名)或者 IP
  • 例如
mysql> SHOW GRANTS FOR 'oir'@'localhost';

更改某些权限或者权限后,最好重新加载权限。

执行,

FLUSH PRIVILEGES;

启动重新加载过程。

授予数据库表权限,但仅限本地主机登录

GRANT ALL ON *.* TO 'username'@'hostname';
  • .--> 访问或者登录数据库表的所有特权或者权限
  • 'username'@... --> 被授予访问表的用户名
  • ...@'hostname' --> 数据库服务器 FQDN(完全限定域名)或者 IP
  • 例如
mysql> GRANT ALL ON *.* TO 'oir'@'localhost';

创建 MySQL 数据库用户登录帐号

CREATE USER 'new-user-name'@'hostname' IDENTIFIED BY 'password';
  • 'net-user-name'@... --> 新的数据库用户登录名
  • ...@'hostname' --> 数据库服务器 FQDN(完全限定域名)或者 IP
  • 'password' --> 分配给新数据库用户登录名的密码
  • 例如
mysql> CREATE USER 'oir'@'localhost' IDENTIFIED BY 'secret';

授予数据库用户帐户从任何地方登录所有数据库

GRANT ON *.* TO 'username'@'%' IDENTIFIED BY 'password';
  • .--> 访问或者登录数据库表的所有特权或者权限
  • 'username'@... --> 被授予访问表的用户名
  • ...@'hostname' --> 数据库服务器 FQDN(完全限定域名)或者 IP
  • '%' --> 通配符表示,又名“全部”
  • 'password' --> 分配给新数据库用户登录名的密码
  • 例如
mysql> GRANT ON *.* TO 'bob'@'%' IDENTIFIED BY 'secret';

从数据库表中删除数据库用户帐户

DROP USER 'username'@'hostname';

例如

mysql> DROP USER 'bob'@'localhost';
日期:2020-06-02 22:17:30 来源:oir作者:oir