项目需要低功耗运转,暂时没有太大访问量,不太需要购买阿里云 RDS MySQL,计划把数据迁移到一个 ECS 里。
导出 RDS 数据
登录阿里云,从 DMS 页面右上角找到「导出」,勾选所有表,导出一个 SQL 文件。在本地打开确认文字没有乱码,正常可用。
为什么用 Docker
尝试在 Ubuntu 系统里直接安装 MySQL 8,但修改 lower_case_table_names=1 时 MySQL 无法启动。改用 Docker 后发现真的很方便——操作失误可以立刻删掉容器重来。
安装 Docker CE
添加 Docker 官方 GPG 密钥:
1 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - |
提示 OK 后,增加官方安装源:
1 | sudo add-apt-repository \ |
更新并安装:
1 | sudo apt update |
拉取镜像
从镜像加速站点拉取 MySQL 最新镜像:
1 | docker pull dockerproxy.cn/mysql:latest |
启动容器
先创建挂载目录,然后启动:
1 | mkdir -p /mydata/mysql/log /mydata/mysql/data /mydata/mysql/conf |
创建用户
1 | docker exec -it mysql /bin/bash |
到这里就可以远程连接数据库了。
不推荐在这里直接
CREATE DATABASE,会有编码问题,困扰了我好几次。
导入数据
用 Navicat 以 a_new_user / password_need_to_change 连接数据库,新建一个数据库(编码保持默认),然后执行从阿里云导出的 SQL(编码也保持默认),数据就导入进去了。