正文
怎么访问mysql容器 windows访问mysql
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
怎么读mysqldocker容器的服务
步骤:
1. 首先创建一个目录并在目录下创建一个Dockerfile,文件内容如下
[plain] view plain copy print?
FROM centos:centos6
MAINTAINER Fanbin Kong "kongxx@hotmail.com"
RUN yum install -y mysql-server mysql
RUN /etc/init.d/mysqld start \
mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'letmein';"\
mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'letmein';"\
mysql -u root -pletmein -e "show databases;"
EXPOSE 3306
CMD ["/usr/bin/mysqld_safe"]
2. 在Dockerfile所在目录下运行build命令来生成image文件,这里使用mysql_server作为image文件名
[plain] view plain copy print?
sudo docker build -t mysql_server .
运行完build命令后,可以使用“sudo docker images”来查看。
3. 启动容器
3.1 首先使用下面的命令来启动容器
[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -P mysql_server
启动完容器后,可以使用“sudo docker ps”来查看,此时可以看PORTS列内容为“0.0.0.0:49153-3306/tcp”,容器的3306端口会被映射到宿主机器的49153端口,这样我们就可以通过宿主机器的49153端口来连接了,比如:
[plain] view plain copy print?
mysql -h 宿主机器 -u root -pletmein -P 49153
3.2 另外在运行容器的时候也可以通过下面的命令
[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -p 3306:3306 mysql_server
此时容器的3306端口会被映射到宿主机器的3306端口,这样我们就可以通过宿主机器的3306端口访问mysql了
[plain] view plain copy print?
mysql -h 宿主机器 -u root -pletmein
3.3 还有一种情况就是为了安全考虑,我只希望当前的宿主机器可以访问mysql服务,此时我们可以
[plain] view plain copy print?
sudo docker run --name=mysqlserver -d -p 127.0.0.1:3306:3306 mysql_server
如何进入启动的mysql docker容器
进入Linux后怎么访问mysql容器,使用Docker命令下载MySQL怎么访问mysql容器,命令如怎么访问mysql容器:dockerpullmysql:5.7运行该命令后怎么访问mysql容器,则会显示以下日志:5.7:Pullingfrommysql4c8cbfd2973e:Pullcomplete60c52dbe9d91:Pullcompletec2b0136be90f:Pullcomplete273cd71eacf0:Pullcomplete543ff72402d8:Pullcompletef928e22e58b0:Pullcomplete2d1023ecaed4:Pullcomplete059dbbef4dd8:Pullcompleteac0ee0367a32:Pullcompletea9057a689e83:Pullcomplete5191ddfc3b01:Pullcomplete6e2ce31eb835:Pullcomplete099dc92e9b15:Pullcomplete7b4030a6b20b:Pullcompletefdb9c2185fc2:Alreadyexistsmysql:5.7:Theimageyouarepullinghasbeenverified.Important:imageverificationisatechpreviewfeatureandshouldnotbereliedontoprovidesecurity.Digest:sha256:d00f3f3cd30d0e8ad9bdf8ba61729ee1a4b6fe84a0fbb95f07dc2668a4cb5d08Status:Downloadednewerimageformysql:5.7下载需要一段时间,下载完毕后,启动Docker容器。
如何访问k8s集群内部署的mysql服务
虽然 kubernetes 社区一直在努力使得有状态应用成为一等公民,也推出怎么访问mysql容器了 statefulset 控制器支持 pod 怎么访问mysql容器的顺序部署,稳定怎么访问mysql容器的域名访问和存储访问。但鉴于 MySQL 部署运维的多样性和复杂性,在 kubernetes 上部署 MySQL 仍然要面临众多挑战。
1、业务流量入口的配置方式
传统虚拟机环境下,我们通过虚IP的方式,让业务应用都配置事先定义的一个虚IP为链接数据库的地址,然后由高可用服务保证虚IP始终能被路由到master数据库。在kubernetes中,出现了一层网络插件屏蔽了底层网络拓扑,高可用服务管理虚IP的方式需要随之适应调整,比如通过service结合标签完成虚IP的漂移,但service本身是kubernetes提供的一项功能,其可靠性和性能都取决于kubernetes服务的稳定。以性能来说,service是kubeproxy组件通过配置iptables实现的,当iptables规则较多时不可避免的会产生时延,需要我们针对性的解决。
2、容器隔离带来的监控视野问题
在 kubernetes 中,如果将 MySQL 制作为 container 运行在一个 pod 中,container 会将 MySQL 进程和运行环境隔离在一个单独的 namespace 中。监控组件在获取 MySQL 的一些 metirc 时,可能不得不进入与 MySQL 同一个 namespace 中,在部署和设计监控组件时需要考虑到这些限制。
3、存储在 kubernetes 中,支持配置各种不同的存储。
如果使用本地存储 local persistent volume,则需要绑定 MySQL 在一个固定的节点,这就完全浪费了 kubernetes 灵活调度的天然优势怎么访问mysql容器;而如果使用远程共享存储,确实是将 MySQL 进程与其存储完全解耦,使得 MySQL 进程可以在任意节点调度,然而考虑到高 I/O 吞吐量的情况,就不是那么美好了。设计时需要考量远程存储是否能够满足 MySQL 的带宽要求。
4、高可用/备份恢复
kubernetes 提供的 statefulset 控制器只能提供最基本的部署,删除功能,无法实现完善的 MySQL 集群高可用/备份恢复操作。对于有状态应用的部署,仍需要定制开发,所以多数公司提供了定制的 operator 来完成应用容器的管理。比如 etcd operator,MySQL operator,后文将为大家详述我测试使用 MySQL operator 的一些记录。
关于怎么访问mysql容器和windows访问mysql的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。