介绍
有时,您只需要创建一个用户就可以对数据库进行只读访问。用户可以查看或读取数据库中的数据,但不能对数据或数据库结构进行任何更改。
创建一个新的用户帐户
要为MySQL创建只读数据库用户帐户,请执行以下步骤:首先,使用以下命令从您的终端/命令提示符下以MySQL管理员身份登录:mysql -u root -p系统将提示您输入密码。输入root帐户密码。
创建一个新的MySQL用户帐户。CREATE USER 'report'@'%' IDENTIFIED BY 'secret';
%上面命令中的in表示用户report可以用来从任何主机进行连接。您可以通过定义用户可以连接的主机来限制访问。省略此信息将仅允许用户从同一台计算机进行连接。SELECT向用户授予特权。GRANT SELECT ON nhooo.* TO 'report'@'%';执行以下命令以保存特权更改并生效。FLUSH PRIVILEGES;键入quit以退出MySQL Shell。
测试新用户帐户现在,我们可以尝试新创建的用户帐户。首先使用新的用户帐户登录并提供相应的密码。mysql -u report -p尝试执行以下DELETE命令:mysql> USE nhooo;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> DELETE FROM authors;
ERROR 1142 (42000): DELETE command denied to user 'report'@'localhost' for table 'authors'
mysql> UPDATE authors SET name = 'Wayan Saryada' WHERE id = 1;
ERROR 1142 (42000): UPDATE command denied to user 'report'@'localhost' for table 'authors'
mysql>