docker-mysql连接方式
作者:GuiMa005
这篇文章主要介绍了docker-mysql连接方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
docker-mysql连接
启动mysql
1.进入服务器,虚拟机直连/远程命令行连接
2.切换到安装docker的用户下,(root) su
3.查看docker容器列表,docker ps -a
4.启动mysql容器,docker restart [CONTAINER ID]
连接并进入mysql(进入docker容器内进行连接)
1.进入mysql docker容器,docker exec -it [CONTAINER ID]
2.连接mysql,mysql -h localhost -u root -p
使用其他设备客户端连接
1.查看mysql所在服务器ip地址,iP add show
2.使用其他设备客户端连接,mysql -h [目标服务器ip] -P(这个P是大写) [mysql容器暴露的端口号](如果是3306可省略) -u root -p [密码]
解决连接不上docker中的mysql
docker 中安装MySQL :
docker pull mysql docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
在docker中安装了mysql后,用SQLyog去连接的时候出现如下错误。
解决方法
1、查看我们想要连接的mysql是否启动
#查看在运行的容器 docker ps -s
2、进入容器
# docker exec -it 容器号或名 /bin/bash docker exec -it b30062adc08c /bin/bash # 或 docker exec -it mysql /bin/bash
3、进入mysql
mysql -uroot -p #输入密码(跟之前在windows上运行mysql是一样的)
4、查看MySQL的信息
select host,user,plugin,authentication_string from mysql.user;
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
6、修改密码
mysql> use mysql; mysql> alter user 'root'@'%' identified with mysql_native_password by '123456'; mysql> flush privileges; mysql> select host,user,plugin,authentication_string from mysql.user;
再次用navicat远程连接mysql就成功了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。