本文最后更新于 348 天前,其中的信息可能已经有所发展或是发生改变。
在 MySQL 数据库中,查看用户信息通常涉及到访问系统数据库中的用户表。在 MySQL 5.7 及更高版本中,用户信息存储在 mysql 数据库的 user 表中。以下是一些查看 MySQL 用户的方法:
使用 SQL 查询查看用户
#登录到 MySQL:首先,你需要以具有足够权限(如 root 用户)的身份登录到 MySQL 服务器。
mysql -u root -p
#系统会提示你输入 root 用户的密码。
#查询用户表:
#登录后,你可以执行以下 SQL 查询来查看所有用户:
SELECT User, Host FROM mysql.user;
#这将列出所有用户及其对应的主机名(即用户可以从哪些主机连接到 MySQL 服务器)。在 MariaDB 中,创建新用户、设置密码以及授予数据库所有权(或特定权限)
通常涉及几个步骤。以下是如何执行这些操作的指南:
- 登录到 MariaDB:
 首先,你需要以具有足够权限(如root用户)的身份登录到 MariaDB 服务器。mysql -u root -p
 系统会提示你输入root用户的密码。
- 创建新用户:
 使用CREATE USER语句来创建名为superset的新用户,并为其设置密码 。注意,出于安全考虑,通常建议使用更复杂的密码。CREATE USER 'superset'@'%' IDENTIFIED BY '密码';
 这里的'%'表示用户可以从任何主机连接到 MariaDB 服务器。如果你希望限制用户只能从特定主机连接,可以将'%'替换为具体的 IP 地址或主机名。
- 创建数据库(如果尚未创建):
 如果数据库TEMP还不存在,你需要先创建它。CREATE DATABASE TEMP;
- 授予权限:
 使用GRANT语句来授予superset用户对TEMP数据库的所有权(或特定权限)。所有权通常意味着用户具有对该数据库的所有权限,包括创建表、插入数据、更新数据和删除数据等。GRANT ALL PRIVILEGES ON TEMP.* TO 'superset'@'%';
 这里的ALL PRIVILEGES表示授予所有权限,TEMP.*表示TEMP数据库中的所有对象(表、视图等),'superset'@'%'指定了用户和主机。
- 刷新权限:
 虽然 MariaDB 通常会自动刷新权限,但出于习惯,你可以执行FLUSH PRIVILEGES语句来确保权限更改立即生效。FLUSH PRIVILEGES;
- 验证:
 你可以使用SHOW GRANTS语句来验证superset用户的权限。SHOW GRANTS FOR 'superset'@'%';
 这将显示superset用户被授予的所有权限。
- 退出 MariaDB:
 完成操作后,你可以使用exit或quit命令退出 MariaDB 客户端。
 exit;
请确保在实际环境中使用强密码,并根据安全最佳实践配置用户权限。如果你将用户配置为可以从任何主机连接,请确保你了解这带来的安全风险,并考虑使用防火墙或其他安全措施来限制访问。
开放远程访问
vim /etc/mysql/mysql.conf.d/mysqld.cnf/50-server.cnf 
或者 
vim /etc/mysql/mariadb.conf.d/50-server.cnf
把这一行进行注释,再重启mysql就行了
sudo service mysqld restart