温馨提示×

ubuntu mysql如何设置用户

小樊
40
2026-09-03 23:38:16
栏目: 云计算

在 Ubuntu 上设置 MySQL 用户,通常包括安装 MySQL、登录、创建用户、授权、刷新权限等步骤。下面按常见场景给你说明(以 MySQL 5.7 / 8.0 为例)。


一、登录 MySQL

1. 使用 root 登录

sudo mysql -u root -p

或(某些版本):

mysql -u root -p

二、创建 MySQL 用户

1. 创建用户(MySQL 8.0 推荐方式)

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

2. 允许远程连接(可选)

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

% 表示允许从任意 IP 连接
localhost 仅本地


三、给用户授权

1. 授权某个数据库

GRANT ALL PRIVILEGES ON dbname.* TO 'username'@'localhost';

2. 授权所有数据库(不推荐生产)

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

3. 仅只读权限

GRANT SELECT ON dbname.* TO 'username'@'localhost';

四、刷新权限

FLUSH PRIVILEGES;

五、查看用户和权限

SELECT user, host FROM mysql.user;
SHOW GRANTS FOR 'username'@'localhost';

六、修改密码

ALTER USER 'username'@'localhost' IDENTIFIED BY 'newpassword';

七、删除用户

DROP USER 'username'@'localhost';

八、远程访问额外配置(如果开启 %)

1. 修改配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到:

bind-address = 127.0.0.1

改为:

bind-address = 0.0.0.0

2. 重启 MySQL

sudo systemctl restart mysql

3. 防火墙(示例)

sudo ufw allow 3306

九、示例完整流程

CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'localhost';
FLUSH PRIVILEGES;

如果你有具体需求(比如:只允许某个 IP、Django/Java 连接、Docker 环境),可以告诉我,我可以给你更精确的配置。

0