📦 安装 MySQL 服务端
sudo apt update
sudo apt install mysql-server
⚙️ 修改 MySQL 监听配置
编辑配置文件:
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
将以下两项的默认 127.0.0.1
修改为 0.0.0.0
,允许外部连接:
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
💡 默认值
127.0.0.1
表示只允许本地连接。
🔄 重启 MySQL 服务
sudo systemctl restart mysql
🔐 查看默认用户名密码
MySQL 安装后会自动生成 debian-sys-maint
账户,使用该命令查看:
cat /etc/mysql/debian.cnf
🛠️ 连接 MySQL
mysql -u <username> -p
🔑 修改 root 密码
-
进入
mysql
数据库:USE mysql;
-
修改
root
密码:ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
🔍 查看 MySQL 端口
SHOW VARIABLES LIKE '%port%';
👤 查看现有用户
SELECT user, host FROM mysql.user;
host 字段含义:
'localhost'
:只能本地访问'%'
:可远程访问(外网)
👥 创建新用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
示例:
CREATE USER 'devuser'@'%' IDENTIFIED BY '123456';
❌ 删除用户
DROP USER 'username'@'host';
🔐 用户权限管理
✅ 授予用户 Root 权限(⚠️ 高风险操作)
给予用户与 root
类似的全部权限(包括所有数据库和表):
GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';
FLUSH PRIVILEGES;
⚠️ 注意: 仅在信任该用户或测试环境中使用。
ALL PRIVILEGES
表示授予所有权限。
🎯 授予用户特定表权限(✅ 推荐)
为用户赋予特定数据库或表的权限,更安全:
GRANT SELECT, INSERT, UPDATE, DELETE ON <database>.<table> TO 'username'@'host';
FLUSH PRIVILEGES;
权限说明:
权限 | 描述 |
---|---|
SELECT |
允许查询数据 |
INSERT |
允许插入数据 |
UPDATE |
允许更新数据 |
DELETE |
允许删除数据 |
如需撤销权限,可以使用:
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'host';
FLUSH PRIVILEGES;