2022-02-14 学习数据库

1 使用Navicat Lite 远程链接虚拟机数据库出现 2003错误

虚拟机是打开的,但是虚拟机里面安装MySQL的docker容器没有打开

1  方案一
打开使用命令docker ps -a
查看所有容器
使用docker start +容器id,打开docker容器

2  方案二
使用命令格式,设置docker容器开机自启动
docker update --restart=always 容器名称或者容器id

2 找不到support-files文件夹和里面的mysql.server的启动脚本(即将docker容器里面的mysql,添加到linux的service服务管理)

2022.02.15:只找到查询安装位置的方法

whereis mysql  //查询数据库路径

ps -ef | grep mysql  /*我使用的时候无法查询到地址需要解决(不知道是不是mysql安装在docker中的问题)
ps:老师回复这个是查询进程的命令*/

find / -name #文件名称#  /*linux下根据名称查找文件(尝试进入docker容器内部查询,
也无法查询到mysql.server文件)*/

ll  或者全写  ls -l  //查询当前文件夹下面的文件,注意在docker容器里面ll会无效,需要全写

cat “文件名称”  //查看文件内容

2022.02.16:问题已经找出是因为mysql安装在docker容器里面的原因
暂时解决办法:使用下面 “3” 的指令进入docker容器进行登录mysql

待解决:在linux任何目录下,登录docker容器里面的数据库
ps:即将docker容器里面的mysql,添加到linux的service服务管理

3 进入docker容器,并修改mysql中的my.cnf配置文件

docker ps  //查询docker容器id

docker exec -it #容器id# /bin/bash  //进入容器内部

vi my.cnf  //修改my.cnf配置文件,会进入vim操作界面

退出容器:如果要退出bash有2种操作:
1)Ctrl + d 退出并停止容器;2)Ctrl + p + q 退出并在后台运行容器;

重启docker容器:
docker restart 容器ID

4 登录数据库

//通过上面命令进入docker容器,使用
mysql -u root -p  /*进行登录,-u <后面跟用户,指定用户> ,-p   后面可以跟密码(但是不能有空格),
推荐在下一行输入*/
如 mysql -uroot -p“密码”  //常规写法

exit;  //进行退出,注意mysql命令中结尾必须要带";"符号,不然就是下一行代码

/var/lib/dpkg/alternatives/my.cnf  //docker 容器中my.cnf文件存放位置

面试小知识:mysql默认端口是3306,配置文件5.7版本是“ my.cnf ”文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容