事情是这样的,我们已经把项目交付给了甲方,甲方还想进一步开发,但是我们的报价让甲方不满意。甲方就找了其他人开发。讲真,一分钱一分货,那伙人把服务器搞摊跑路了,各种服务全挂了。
要知道,把他们搞坏的修好,还不如重装系统比较快,何况是云服务器。
我复制下来数据库的文件们,大概长这样。
因为是 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
注意数据库用户是否能在容器外访问。
好了,这样可以比较友好的操作这个数据库了,至少这样的方案是免费的。