我五个月前玩dockers的时候安装了一个mysql容器,并且运行了mysql的镜像。然后五个月后我已经不记得dockers这回事了,然后想放几个网站上服务器,安装了mysql,然后准备启动的时候,发现启动不了,
就是这种情况:
systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
然后如果直接登陆就报这个错:
然后本来对内部构造就不太懂,看这些信息也不是很理解。然后网上搜的方法也解决不来。
然后就陷入了一种深深的恐惧。
过了好几天,有空就一直玩linux,试着登陆了mysql,报下面的错误
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
原因是找不到登陆连接的文件,然后按找这个文件在哪,忽然看到了docker。忽然记起来自己安装了docker。然后又玩了完docker,忽然发现自己已经运行了在dockers里的mysql。然后就感觉问题找到了。。。
删除容器后才能删除镜像
docker 查看所有容器 :docker ps 得到名字信息
docker 查看所有镜像 : docker images 得到id信息,后面用来删除
然后马上docker rm mysql 删除mysql容器。
接着docker rmi id 删除mysql镜像。
然后,我就久违地启动了一下mysql(因为之前已经安装好了,只是启动不了)
然后,启动成功。。。
也是一阵心酸泪啊。。
然后注意一下啊!!!
当systemctl start mysql 是会出现下面的错误的!
Failed to start mysql.service: Unit not found.
正确启动是systemctl start mysqld
mysqld是用于启动mysql的。
mysqld是 SQL后台程序(即MySQL服务器)。要想使用客户端程序,该程序必须运行,因为客户端通过连接服务器来访问数据库
mysql 是接受我们输入sql语句的程序。就是mysql> 这个东西。