mysql 创建一个用户并赋权限出现的问题

mysql 创建一个用户并赋权限出现的问题

首先我们来列出这个错误的提示:

 Aborted connection 1904092 to db: 'unconnected' user: 'kaiji' host: '127.0.0.1' 
 (init_connect command failed)

当我们创建数据库用户以及赋予权限之后:

GRANT SELECT ON TESTDBD.* to 'username'@'%' IDENTIFIED BY 'password';

退出重新使用新的账户名和密码登录就出现了上面说的这个问题. . 这个时候我们查看日志

Aborted connection 1904095 to db: 'unconnected' user: 'kaiji' host: '127.0.0.1' 
(init_connect command failed)
2018-05-04T03:10:27.044872Z 1904095 [Warning] You have an error in your SQL syntax;
 check the manual that corresponds to your MySQL server version for the 
 right syntax to use near 'utf8' at line 1

它告诉我init_connect配置附近有问题. 关于UTF8旁边. 这个时候 我去看mysql的配置文件.

init_connect='SET NAME utf8'

问题出现在哪里咧? 就出现在 NAME 上, 这个地方应该是 NAMES. ok, 修改, 保存, 重启mysql服务
services mysqld restart重新登录, 发现成功! 搞定!!!

### 创建 MySQL 用户授予只读视图权限MySQL 中,可以通过 `CREATE USER` 和 `GRANT` 命令来创建用户为其分配特定的权限。为了实现用户的只读访问权限,可以使用 `SELECT` 权限以及视图(View)。以下是具体方法: #### 1. 创建用户 通过 `CREATE USER` 命令创建一个新的 MySQL 用户。例如,创建用户名为 `readonly_user` 的用户设置密码为 `password`。 ```sql CREATE USER 'readonly_user'@'localhost' IDENTIFIED BY 'password'; ``` 此命令会创建一个名为 `readonly_user` 的用户[^1]。 #### 2. 授予只读权限 为了让该用户具有数据库中的只读权限,仅需授予权限范围内的 `SELECT` 权限即可。假设目标数据库名称为 `mydatabase`,执行如下语句: ```sql GRANT SELECT ON mydatabase.* TO 'readonly_user'@'localhost'; ``` 这条 SQL 语句表示允许 `readonly_user` 对 `mydatabase` 数据库下的所有表拥有只读 (`SELECT`) 权限[^3]。 #### 3. 使用视图增强安全性 如果希望进一步制数据暴露程度,则可利用 **视图** 提供更细粒度的数据控制。首先,在数据库中定义一个视图,然后单独对该视图授权用户。比如下面的例子展示了如何基于某张表的部分列构建视图: ```sql -- 创建视图 example_view 只显示 table_name 表的一部分字段 CREATE VIEW example_view AS SELECT column1, column2 FROM table_name; -- 将视图上的 SELECT 权限赋给 readonly_user GRANT SELECT ON mydatabase.example_view TO 'readonly_user'@'localhost'; ``` 这样做的好处在于即使原始表格包含敏感信息,也可以通过对这些敏感部分隐藏的方式保护隐私[^4]。 最后一步是刷新权限以使更改生效: ```sql FLUSH PRIVILEGES; ``` 至此完成了一个具备只读功能的新用户的建立过程[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值