在 MySQL 中创建用户和分配权限
-
登录到 MySQL :
首先,使用
root
用户或其他具有足够权限的用户登录到 MySQL:bashmysql -u root -p
-
创建新用户 :
在 MySQL 提示符下,使用以下命令创建新用户:
sqlCREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
将
newuser
和password
替换为您想要的用户名和密码。如果你想能通过该用户远程登录数据库,可以
'localhost'
(表示当地访问) 改为'%'
(表示任何远程ip地址都能访问) -
授予权限 :
然后,根据需要给新用户授予权限。例如,要赋予用户对特定数据库的所有权限:
sqlGRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
这里的
database_name
应替换为您希望用户访问的数据库名。 -
刷新权限 :
执行以下命令以使更改生效:
sqlFLUSH PRIVILEGES;
-
退出 MySQL:
sqlEXIT;
在 PostgreSQL 中创建用户和分配权限
-
登录到 PostgreSQL :
使用
psql
工具和足夠权限的用户登录到 PostgreSQL:bashsudo -u postgres psql
-
创建新用户 :
使用以下命令创建新用户(在 PostgreSQL 中称为角色):
sqlCREATE USER newuser WITH PASSWORD 'password';
将
newuser
和password
替换为您选择的用户名和密码。 -
创建数据库 (如果需要):
如果还需要创建一个新数据库,可以使用:
sqlCREATE DATABASE database_name;
-
授予权限 :
授予用户对特定数据库的权限:
sqlGRANT ALL PRIVILEGES ON DATABASE database_name TO newuser;
-
退出 PostgreSQL:
sql\q
注意事项
-
权限粒度 :您可以根据需要调整权限的粒度,例如只授予读取(
SELECT
)、修改(INSERT
,UPDATE
,DELETE
)等特定权限。 -
远程访问 :如果用户需要从远程地址访问数据库,需要使用
'newuser'@'%'
(MySQL)或适当配置pg_hba.conf
文件(PostgreSQL)。 -
安全性:确保使用强密码,特别是当数据库可以从外部网络访问时。
-
注意点 : 注意要打开安全组
3306端口
,和打开防火墙3306端口
(特别是使用宝塔的伙伴)