MySQL 8.0+ 配置

本文介绍在 MySQL 8.0+ 中手动创建数据库、用户并授权的完整操作流程。

1. 连接 MySQL

以 root 管理员身份连接 MySQL:

mysql -u root -p

2. 创建数据库

-- 创建数据库(utf8mb4 字符集,支持完整 Unicode)
CREATE DATABASE IF NOT EXISTS redirect
  DEFAULT CHARACTER SET utf8mb4
  COLLATE utf8mb4_unicode_ci;

3. 创建用户

-- 创建用户(允许从任意主机连接)
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED BY 'YOUR_PASSWORD';

-- 仅允许本地连接(更安全)
-- CREATE USER IF NOT EXISTS 'root'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD';

4. 授权

-- 授予 redirect 数据库的全部权限
GRANT ALL PRIVILEGES ON redirect.* TO 'root'@'%';

-- 刷新权限使其立即生效
FLUSH PRIVILEGES;

5. 远程访问配置

如需远程连接,编辑 MySQL 配置文件,将 bind-address 改为 0.0.0.0:

# 编辑配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

# 修改 bind-address
[mysqld]
bind-address = 0.0.0.0

# 重启 MySQL 服务
sudo systemctl restart mysql

6. 防火墙放行

# Ubuntu / Debian (ufw)
sudo ufw allow 3306/tcp

# CentOS / RHEL (firewalld)
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

7. 验证连接

# 本地验证
mysql -u root -p -h localhost -P 3306 redirect

# 远程验证
mysql -u root -p -h  -P 3306 redirect

对应环境变量

DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=YOUR_PASSWORD
DB_NAME=redirect
💡
如遇到连接问题,请阅读 常见问题。