问题1
1.描述:
使用命令mysql -h localhost -u root -p
试图进入mysql,报错
# 无法找到命令
bash: mysql: command not found
2.解决:
以命令行模式进入该容器
版本8.0.22(我是这个)
docker run -it mysql:8.0.22 /bin/bash
最新版本
docker run -it mysql /bin/bash
问题2
1.描述:
然后使用命令mysql -h localhost -u root -p
试图进入mysql,输入密码后报错
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
2.原因:
这是由于我们连接数据库使用的主机名参数为localhost
,或者未使用主机名参数、服务器默认使用localhost
做为主机名。 使用主机名参数为localhost
连接mysql服务端时,mysql客户端会认为是连接本机,所以会尝试以socket文件方式进行连接(socket文件连接方式,比ip:端口
方式效率更高),这时根据配置文件/etc/mysql.cnf
的路径,未找到相应的socket文件,就会引发此错误。
3.解决:
使用内网ip 172.17.11.222
即可
# 进入mysql
mysql -h 172.17.11.222 -u root -p
成功!