用 Docker 启动 MySQL

原创
03/26 23:23
阅读数 124

事情是这样的,我们已经把项目交付给了甲方,甲方还想进一步开发,但是我们的报价让甲方不满意。甲方就找了其他人开发。讲真,一分钱一分货,那伙人把服务器搞摊跑路了,各种服务全挂了。

要知道,把他们搞坏的修好,还不如重装系统比较快,何况是云服务器。

我复制下来数据库的文件们,大概长这样。

因为是 mysql 5.7 的数据库。先下载一个镜像。

docker pull mysql:5

然后在这个目录启动起来。

docker run -d \
 --name mysql \
 -v $PWD:/var/lib/mysql \
 -p 3306:3306 \
mysql:5

Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.

出现这个错误启动不起来时,可能是 MySQL 版本问题,我用的版本比之前的低了,5.7 用了 5.6 的 MySQL,报错直接退出了。

然后进入容器看看。

docker exec -it mysql bash

这时候我发现我不能连接数据库,因为密码不对,不管是啥原因,反正是不对,我猜是跑路那群人把密码改了(有点腹黑),然后就要 skip-grant-tables,但是发现没有 vi。

没关系,办法总比困难多。

复制出来改。

docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf ~/Desktop

改完复制回去。

docker cp ~/Desktop/mysqld.cnf mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

好了,可以重启试试了。我就不截图了。

docker restart mysql

然后还有没有好玩的?当然还可以继续,上 phpMyAdmin 哇。我目标是吧数据掏出来重新部署哇,当然有很多方法,但是我习惯 phpMyAdmin。

docker pull phpmyadmin/phpmyadmin
docker run --name myadmin -d \
 -p 8088:80 \
 -e PMA_ARBITRARY=1 \
phpmyadmin/phpmyadmin

注意数据库用户是否能在容器外访问。

好了,这样可以比较友好的操作这个数据库了,至少这样的方案是免费的。

用 Docker 启动 MySQL

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部