欢迎访问我的GitHub
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
起因是懒
我是个Java程序员,在家写代码时离不开redis、mysql、kafka这些基础服务,通常做法是打开电脑,启动redis、mysql、kafka,用完再关闭电脑,麻烦呀(您想骂我懒么?您骂得对…)
并非第一次折腾
之前曾折腾过家里的群晖DS218+,装了maven私服nexus3,地址:《群晖DS218+做maven私服(nexus3)》
群晖DS218+
家里有一台群晖DS218+,很久以来始终24小时开机为全家服务,如果能把mysql装到这里,似乎前面的麻烦就没有了;
- 下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:
- 下图是网购的内存条,现在一共2+8=10G内存,内存充足才是敢折腾的底气:
- 据说拆机可以把原装2G内存条换掉,就能装两根8G内存条,目前暂时用不上,我需要克制…
思路
其实操作很简单:群晖带有docker服务,用docker来部署mysql即可,所以,本文其实也就是群晖docker的基本操作记录,以下几处是要注意的地方:
- 容器端口
- 容器数据卷
- 文件权限
- 登录容器操作
环境信息
- 群晖系统:DSM 6.2.2-24922 Update 4
- Mysql:5.7.29
准备工作
- 先要给MySQL容器准备好一个本地目录,否则一旦容器出了问题MySQL的数据就找不回来了
- 如下图,在File Station中,在docker目录下新建一个文件夹,名为mysql:
- 还要给此目录赋予权限,否则容器无法写入数据,如下图,点击右键,在菜单上选择属性:
- 如下图,我这里为了简单省事儿放开了所有权限:
- 如下图红框中的操作:
- 准备工作已经完成,可以开始正式操作了;
操作
- 进入群晖管理页面
- 进入docker应用,搜索mysql镜像,操作如下图的数字顺序,即可开始下载镜像:
- 镜像下载好之后,操作如下图的数字顺序,进入启动容器的页面:
- 给容器起个合适的名字,然后点击高级设置:
- 选择卷这个Tab页,点击添加文件夹:
- 选中咱们刚才新建的mysql文件夹:
- 装载路径是指容器内的路径,写/var/lib/mysql:
- 接下来设置端口,如下图,把3306对应的本地端口从自动改为3306:
- 最后在环境的Tab页,增加MySQL的root账号的密码设置,如下图,名字MYSQL_ROOT_PASSWORD,值123456,操作完成后点击右下角的应用按钮完成设置:
- 勾选向导完成后运行此容器,点击右下角的应用即可开始创建容器:
验证
来验证一下MySQL是否可用:
- 双击下图红框中的位置:
- 在弹出的页面中,继续双击下图红框中的位置:
- 如下图操作,即可在MySQL容器的namepace内执行一个shell命令:
- 弹出一个窗口让您输入命令,请输入/bin/bash:
- 如下图,进入容器了:
- 执行命令mysql -uroot -p123456,可以进入MySQL命令模式了,如下图,操作正常:
- 远程连接也要试试,毕竟今后是别的机器通过IP地址来连接的,我这里用了一台Macbook Pro,安装了MySQL Workbench,配置了群晖的IP地址和3306端口,账号是root,密码123456,连接正常,如下图:
至此,群晖DS218+部署MySQL成功,今后数据库服务随时可用,也没有什么额外代价,码农福音…