您的 MySQL 服务器上安装什么?
- 来自 MySQL 官方软件源的 MySQL 8.4 LTS Community
- 一个名为 uygulama 的 utf8mb4 数据库,以及一个名为 yonetici 的全权限用户
- 经典协议在 3306 端口开放,TLS 使用 MySQL 生成的自签名证书
- X Protocol(33060)只能从服务器内部访问
- 默认认证方式为 caching_sha2_password
- 防火墙只开放 22 和 3306 端口,并为 SSH 配有 fail2ban
MySQL 需要多大的配置?
MySQL 参考手册没有给出固定的 RAM 数值。InnoDB 缓冲池默认是 128 MB,手册指出只运行 MySQL 的服务器常把它设为物理内存的最多 80%。经验上,1 GB 适合试用和小型数据库,生产环境的应用从 2 到 4 GB 起步比较好。如果不够,可以在面板中分别提升 RAM、CPU 和磁盘,您的数据和 IP 地址保持不变。
| 用途 | 配置 | 价格 | 选择 |
|---|---|---|---|
| 入门 | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/月 | |
| 中等 | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/月 | |
| 强劲 | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/月 |
适合谁?
- 运行必须使用 MySQL 的软件、需要独立数据库服务器的人
- 把 PHP、Java、Python 或 Node.js 应用连接到远程 MySQL 的团队
- 从 MySQL 8.0 迁移到 8.4 LTS 版本的项目
- 想为开发、测试或报表单独使用一个数据库的开发者
下单之后会发生什么?
- 设定配置并完成付款。
- 服务器启动后,MySQL 会自行安装。在我们的真实服务器测试中,这大约用了 3 分钟。
- 面板“概览”标签页中“应用”一行显示 MySQL 已就绪后,复制“连接地址”“登录名”和“密码”三行。
- 用 mysql -h IP -u yonetici -p uygulama 连接。加上 --ssl-mode=REQUIRED 可以强制使用加密连接。
- 用 CREATE USER 为您的应用另建一个用户,只授予它访问自己数据库的权限。
每台服务器都包含
- 价格含每日备份
- 不限流量
- 完整 root 权限
- 之后可升级或降配 RAM 和 CPU,并扩大磁盘
- 位置:Istanbul · IST-1。
须知
- 3306 端口对互联网开放。要把它限制为只允许您的地址,请运行 ufw delete allow 3306/tcp,再运行 ufw allow from YOUR_IP to any port 3306。
- 升级配置后,InnoDB 缓冲池仍然保持 128 MB 不变。请在配置文件 /etc/mysql/mysql.conf.d/seturack.cnf 中设置 innodb_buffer_pool_size,然后重启 MySQL:systemctl restart mysql。
- MySQL 8.4 默认关闭 mysql_native_password。如果您使用较旧的驱动,请先尝试更新驱动。
- 这套安装跟随 8.4 LTS 软件源,不会自行升级到新的主版本。MySQL 的更新用 apt 进行。
- 服务器证书是自签名的。要使用 VERIFY_CA 或 VERIFY_IDENTITY 模式连接,请设置您自己的证书。
MySQL 常见问题
如何连接远程 MySQL 服务器?
面板中显示“连接地址”“登录名”和“密码”。在命令行中运行 mysql -h IP -u yonetici -p uygulama。在 MySQL Workbench 等工具中,主机填 IP 地址,端口填 3306,用户填 yonetici。
MySQL 需要多少 RAM?
MySQL 没有官方的最低 RAM 数值。经验上,小型数据库从 1 GB 起步就不错,生产环境的应用可以用 2 到 4 GB。增加内存时,也要提高 innodb_buffer_pool_size,否则缓冲池仍是 128 MB。
如何解决 caching_sha2_password 报错?
这是 MySQL 8.4 的默认认证方式,所以请先更新驱动。如果必须保留旧驱动,请在设置文件的 mysqld 部分添加 mysql_native_password=ON,重启 MySQL,再用 ALTER USER 把该用户切换过去。
可以把 MySQL 5.7 或 8.0 的数据库迁到这里吗?
从 8.0 迁到 8.4 是官方支持的,所以可以用 mysqldump 做转储再导入。5.7 不能直接升到 8.4,因为 MySQL 要求先升级到 8.0。
我的 MySQL 连接是加密的吗?
MySQL 客户端默认先尝试 TLS,服务器用自签名证书应答。使用 --ssl-mode=REQUIRED,客户端就无法退回到明文连接。要确认是否加密,请运行 SHOW SESSION STATUS LIKE 'Ssl_cipher'。
如何备份 MySQL?
您的服务器每晚备份,保留最近 7 天,费用已包含在价格中。做逻辑备份时,请使用 mysqldump --single-transaction,它能在不锁定 InnoDB 表的情况下得到一致的转储。