Linux作为全球主流的嵌入式操作系统,因其可调用MySQL、C/C++等多种编程语言,备受好评。今天凡亿教育为小伙伴们分享一个Linux高级技巧,是如何在Linux中检查MySQL用户权限,感兴趣的小伙伴们可以给我点个赞。
进阶学习Linux开发板,助你稳步学习:
>>Study210/X210上QT5.6.2移植与开发环境搭建
Linux首次安装MySQL时,默认将root用户视为默认数据库用户,第一个数据库事务/活动只能由root用户执行。然而我们都会建议将root用户访问权限给数据管理员管理,再创建数据库用户授予执行不同数据库查询的权限,避免环节繁琐数据泄露等。
注意,本文的高级技巧适合于MariaDB、MySQL 企业版和MySQL 社区版用户,为了更好地检查MySQL用户权限,先建立不同MySQL权限的不同用户,具体如下:
1、创建一个新的MySQL用户
在Linux终端上获取MySQL数据库的root访问权限:
$ mysql -u root -p
创建MySQL用户:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'your_user_password';
注意:该语句只适用于安装在本地上的MySQL,若使用远程机器/服务器上的MySQL,则将'username'@'localhost'替换为'username'@'remote_machine_ip_address'。
若希望不指定主机名或IP地址就能连接到任何MySQL安装系统:
CREATE USER 'username'@'%' IDENTIFIED BY 'your_user_password';
为了更好地演示如何检查MySQL用户权限,需要建立几个MySQL数据库用户,命令语句如上。
2、授予MySQL用户权限
建立好MySQL用户后,接下来是为这些MySQL用户授予不同的用户权限,具体如下:
所有权限:分配此权限的用户可以执行所有数据库角色。
插入:分配此权限的用户可以插入数据库表行数据。
Delete:被赋予此权限的用户可以删除数据库表行数据。
创建:分配此权限的用户可以创建不存在的数据库和表。
Drop:分配此角色的用户可以删除现有的数据库和表。
选择:分配此权限的用户可以读取数据库信息。
更新:分配此权限的用户可以修改数据库表行数据。
授予选项:分配此权限的用户可以修改其他数据库用户帐户的权限。
例如,若要授予用户user1对所有数据库和表的权限:
GRANT ALL PRIVILEGES ON *.* TO 'user1'@'localhost';
若要授予用户user2对特定数据库(例如mysql)的所有鼠标的所有权限:
GRANT ALL PRIVILEGES ON mysql.* TO 'user2'@'localhost';
若要授予user3创建MySQL新用户的权限:
GRANT INSERT ON mysql.user TO 'user3'@'%';
3、在MySQL中检查用户权限
在MySQL检查用户的数据库权限:
SHOW GRANTS FOR username;
撤销MySQL用户所分配到的权限:
REVOKE permission_type ON database.table FROM 'username'@'hostname';
以上是关于Linux的高级技巧。
欲了解更多的Linux知识,可关注凡亿课堂。