环境要求:
具有docker的服务器或者虚拟机
笔者这里已经有一个准备好的lamp的容器,物理机链接docker容器的Mysql数据库为案例进行演示:
1、进入docker 的容器
注意笔者这里隐射的端口是3307,需要根据你自己的实际需求进行端口的隐射操作。
docker exec -it 容器名称 /bin/bash
进入容器是这个界面。
一般情况下 lamp 容器默认是安装成功了mysql 的,所以在固定的位置修改对应的mysql 配置。
2、修改mysql 的配置信息
使用vim 对mysql 的配置信息进行修改操作。如果没有安装vim则可以使用下面的命令
# 安装 vim
apt install vim
# 或者
yum install vim
进入修改lamp 容器中对应的mysql 配置文件:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
需要将 bind-address = 0.0.0.0 或者 bind-address = 127.0.0.1 前面加上# 进行注释操作。
然后退出,重启mysql服务
# 重启
service mysql restart
然后进入mysql系统对内部进行设置
3、mysql 的内部设置
登陆mysql
mysql -uroot
注意刚开始容器是没有密码的。如果有密码请忽略这一步骤。使用 mysql -u root -p 进行登陆
对mysql配置进行设置
use mysql;
# 设置密码
update user set authentication_string = password('123456') where user = 'root';
# 开启密码登陆
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
# 设置远程链接的密码和用户
grant all on *.* to root@'%' identified by '123456' with grant option;
# 刷新权限
FLUSH PRIVILEGES;
#退出
exit
然后重启数据库服务
service mysql restart
完成以上操作步骤基本上就能够实现Navicat的链接。
4、Navicat 链接
打开Navicat进行远程链接。自己的服务器的ip或者虚拟机的ip
注意一定要确定mysql 数据库 在容器中隐射的端口号。笔者这里隐射的3307:3306 端口
完成了Navicat的远程链接,可以正常的对容器的数据库进行管理。