docker版mysql的使⽤和配置(1)——docker的基本操作
最近实在是忙成狗,其他的内容等稍微闲⼀点了⼀起更新。
这篇主要是讲docker版的mysql的使⽤和配置信息。因为实习公司需要搞⼀个docker做测试环境⽤,还需要包括基本的依赖。最重要的是,因为这个docker是作为jenkins的slave使⽤的,所以有可能不能在启动的时候加参数。这就导致我得把docker版的mysql的整个使⽤和配置详细过⼀遍,看看是否有代替启动参数的设置⽅法。
⽂中涉及到的mysql的基本信息见以下链接:
⽂章省略了docker的安装。到官⽹安⼀下就好了。
那么林可死⼤特。
1. 常规的基本docker版mysql的使⽤(docker的基本操作):
下载(community版):
docker pull mysql/mysql-server:tag
这⾥的tag是指mysql的版本号,⽐如5.5~5.7,8.0,latest。
docker images
这个是⽤来查看当前的镜像的清单。
docker run --name=mysql1 -d mysql/mysql-server:tag
接下来就是运⾏镜像,⼀个最基本的运⾏语句⼤概长这个样⼦。
--name制定了运⾏该镜像的容器(container)的名称。如果不声明的话会随机⽣成⼀个。
接着是镜像的名字。
-d是指明镜像的运⾏是扔在后台的。
docker ps
可以⽤这个语句来查看当前的image的运⾏情况。
整个流程简单来说,就是:pull镜像,run镜像,ps看看镜像是不是起来了。
docker logs mysql1
logs加上容器的名称,可以看这个容器在运⾏镜像时产⽣的⽇志信息。如果ps看到了镜像没有正常运⾏,就可以logs检查⼀下。
docker exec -it mysql1 mysql -uroot -p
exec就是在镜像中执⾏后⾯的操作,⽐如上⾯就是执⾏了mysql -uroot -p。
docker exec -it mysql1 bash
为了⽅便在镜像中执⾏bash命令,也可以执⾏这样的命令来开⼀个bash。
docker stop mysql1
这样可以停⽌container的运⾏。想删除container⾸先要停⽌container。想删除image⾸先要删除container。总之是⼀环扣⼀环的。
2. docker版mysql和普通版mysql的区别
Docker images for MySQL are optimized for code size, which means they only include crucial compo
mysql社区版国内镜像下载nents that are expected to be relevant for the majority of users who run MySQL instances in Docker containers.
按官⽹的说法,docker版的mysql只包含了必要的部分。清单如下:
/usr/bin/my_print_defaults
/usr/bin/mysql
/usr/bin/mysql_config
/usr/bin/mysql_install_db
/usr/bin/mysql_tzinfo_to_sql
/usr/bin/mysql_upgrade
/usr/bin/mysqladmin
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlpump
/usr/sbin/mysqld
3. docker版mysql的使⽤
前⾯提到了查看log的⽅法。docker版mysql的默认配置是:第⼀次的root密码是随机⽣成的。所以想⽤root账户登陆,⾸先要查看随机⽣成的密码。
shell> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs
然后就可以-uroot -p登录了。
登录之后的第⼀件事,就是改root密码。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
其他的就跟本地运⾏mysql差不多了。
注意的⼀点是,我们刚刚run docker的命令中,并没有把docker中的端⼝和本机的端⼝进⾏映射。所以虽然mysql虽然启动了,但是不能通过3306或者其他端⼝进⾏访问。
想跟在本机⼀样的话,就要在启动docker容器的时候对docker和本机的端⼝进⾏映射。
docker run -p ip:hostPort:containerPort
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论