如何为MySQL中的每个数据库设置独立用户名和密码?
关于MySQL多数据库与用户权限的问题解答
1. 多数据库是否共用root用户?
是的,默认情况下,MySQL初始化的root用户是超级权限用户,拥有服务器上所有数据库的全部操作权限(包括创建、删除数据库,管理所有用户等),所以所有数据库都会共用这个root用户。
2. 如何为每个数据库配置独立的用户名与密码?
你可以通过创建新用户,并仅授予该用户对应数据库的操作权限来实现,具体步骤如下:
步骤1:登录MySQL服务器
使用root用户登录(刚初始化无密码时直接回车即可):
mysql -u root -p
步骤2:创建新用户
创建一个本地访问的用户(需远程访问则将localhost改为%),设置专属密码:
CREATE USER 'db_user1'@'localhost' IDENTIFIED BY 'your_custom_password';
替换db_user1为目标用户名,your_custom_password为你设置的密码。
步骤3:授予用户指定数据库的权限
给用户授权对应数据库的全部操作权限(若需限制权限,可替换ALL PRIVILEGES为SELECT, INSERT这类具体权限):
GRANT ALL PRIVILEGES ON target_db.* TO 'db_user1'@'localhost';
替换target_db为你要绑定的数据库名称。
步骤4:刷新权限使设置生效
FLUSH PRIVILEGES;
验证权限
退出root登录,用新用户登录测试:
mysql -u db_user1 -p
登录后尝试访问未授权的数据库,会提示权限不足,仅能操作指定的目标数据库。
重复上述步骤,即可为每个数据库创建独立的专属用户。
内容的提问来源于stack exchange,提问作者Mandroid
相关产品推荐
相关产品推荐

