服务器之家

服务器之家 > 正文

docker中使用mysql数据库实现局域网访问

时间:2021-04-23 16:56     来源/作者:

1.获取mysql镜像

?
1
docker pull mysql:5.6

注意:此处之所以获取mysql5.6是因为mysql5.7在centos7中启动可能会报错

2.查看镜像列表

?
1
docker images

3.启动mysql镜像

?
1
docker run -itd -p mysql:5.6 bash

其中 docker run是启动容器的命令;i是交互式操作,t是一个终端,d指的是在后台运行,

-p指在本地生成一个随机端口,用来映射mysql的3306端口,mysql指运行mysql镜像,bash指创建一个交互式shell。

4.查看已经运行的docker镜像

?
1
docker ps -a

docker中使用mysql数据库实现局域网访问

从图中可以看到mysql镜像的3306端口绑定了本地的32769端口,因此就说如果你要在局域网中访问docker中的mysql数据库就需要使用服务器ip:32769来进行访问。

5.连接到mysql镜像中

?
1
docker exec -it relaxed_hodgkin bash

docker exec 是docker镜像的连接命令,类似于ssh一样的命令,relaxed_hodgkin是镜像的名字,镜像每次启动都必须有一个名字,该名字可以手动指定也可以自己生成。

连接成功以后,如下图,已经进入到了docker mysql镜像中

docker中使用mysql数据库实现局域网访问

6.查看mysql的启动状态,如上图就显示mysql没启动

?
1
service mysql status

7.mysql没有启动可以使用以下命令启动,如图所示启动成功

?
1
service mysql start

docker中使用mysql数据库实现局域网访问

8.输入mysql 验证mysql是否启动成功

docker中使用mysql数据库实现局域网访问

到此为止,docker中的mysql已经启动成功。

9.如何在外部使用root连接这个mysql? 为了安全,首先需要设置root帐号的密码,如下

?
1
update user set authentication_string = password('root') where user = 'root';

这时会报以下错误

docker中使用mysql数据库实现局域网访问

是因为没有选择数据库,要在上面的命令之前执行下面这句,就可以将root的密码改为root

?
1
use mysql;

10.由于mysql中root执行绑定在了localhost,因此需要对root进行授权

?
1
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

11.最后,使用sqlyog测试mysql连接,如下

docker中使用mysql数据库实现局域网访问

连接成功,说明docker中的mysql可以在局域网中使用。

到此这篇关于docker中使用mysql数据库实现局域网访问的文章就介绍到这了,更多相关docker对mysql数据库操作内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/areyouready/p/8948552.html

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
返回顶部