群晖NAS教程(一)、利用Docker安装MySQL8并远程访问
为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000
做为一个NAS发烧友玩家,在追求极致硬件配置的同时,也想在各个方面压榨一下自己的黑群晖,要不就对不起自己投入那么多的毛爷爷了。
你是不是经常苦恼,在各个电脑服务器安装了N多个MySQL,连自己都搞混了不知道该用哪一个?!
那我们在自己的NAS上安装一个吧,可以永久使用。
不用担心重装操作系统之后或者阿里云服务器到期之后的苦恼,来体验一下可以替代阿里云的NAS上使用docker安装并且远程访问的mysql吧,它不但可以用于日常的开发库,还可以当做自己小博客的生产库,N多好处快来体验。
一、我的群晖概览
项目 | 配置 | RMB |
---|---|---|
CPU | i7 8700T | 1245元 |
主板 | 技嘉B365 M AORUS ELITE | 509元 |
内存条 | 美商海盗船 DDR4 3000Hz 8G * 4 | 1000元 |
机箱 | 万由NSC-810A U-NAS | 1150元 |
电源 | 海韵350W | 450元 |
散热 | 英特尔CPU自带散热 | 没花钱 |
SSD | 三星980 500G * 2 | 1000元 |
NAS硬盘 | 希捷酷狼 4T * 8 | 6250元 |
11604元 |
群晖的配置是不是可以达到骨灰级玩家了呢,请看花了一万多自己组装的NAS配置。采用了低功耗的i7八代8700T,无论是性价比、性能、功耗,这个U绝了。硬盘采用了高端的希捷NAS酷狼专用盘,读写速度和安全性都更胜一筹。内存卡槽加了4条DDR4 3000Hz的海盗船马甲线。此外,还用了三星刚出的980 500G的两块SSD做了读写缓存,因为自己的NAS还加配了一个万兆的网卡,所以另外买了一台万兆的交换机,在内网的访问速度简直绝了,废话不说,请看图:
二、安装Docker
在群晖套件中心搜索docker,点击安装即可。
三、安装MySQL
进入Docker,点击注册表,搜索mysql,如图第一个即是需要安装的mysql,右键下载此映像,选择8.0.4。
下载安装完成后系统会通知,在Docker的映像一栏中即可看到该映像和大小,291MB。
四、创建容器并运行MySQL
Docker安装成功后,在文件根目录默认会创建一个docker文件夹。在此docker文件夹下创建一个mysql8共享文件夹,并且在mysql8下建立conf、data、logs文件夹,分别用于存储配置文件、数据、错误日志。在创建容器时会用到它们并给对应的映射关系。
选中mysql映像并点击启动,进行创建容器的操作界面,容器名称随便定义。
高级设置里面,启用自动重新启动打上勾。
在配置mysql的data等存放之前,先在群晖的系统里增加conf、data、logs文件夹。
在存储空间这里,选择添加文件夹,然后选择上面创建的三个文件夹,并填写相应的装载路径,超easy。
这里设置容器内部的端口号和容器暴露给宿主机的端口号(即本地端口号),本地端口号会在下面配置远程访问端口转发的时候使用。
对于环境这里,一定要配置上MYSQL_ROOT_PASSWORD,否则后续会失败无法连接的。
因为49197有端口冲突,所以我们改成了49198。
五、MySQL的远程配置
点击容器 -- mysql8.0.4 -- 右键详情。
将tab页转到终端机,并且新增,这样即可连接到容器里面,从而去敲Linux命令。
安装vim:
apt-get update
apt-get install net-tools
apt-get install vim
另外两个类似的,这里就不截图了。
登录mysql:
mysql -u root -p
输入密码后执行下面命令,
grant all privileges on *.* to ‘root’@’%’ ;
然后执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
然后退出MySQL即可。
六、路由器设置端口转发
家里使用的是小米路由器,在登录路由器之后,选择高级设置 -- 端口转发。然后新增一个端口转发规则,外部访问端口是我们使用Navicat连接的时候的端口号,而内部端口就是刚才设置容器暴露给宿主机的端口号。注意mysql8暴露给外面的端口号只能为4位,如果你设置成49198将连接不通,这应该是mysql底层有相应的限制吧,搞不懂,就先这样。
因为mysql是在容器上跑的,容器内部的端口号仍然是3306,但是容器暴露给宿主机的端口是49198,我们需要把这个49198端口映射到外网端口6034上,家里使用的是小米路由器,在高级设置 -- 端口转发设置如下:
七、Navicat测试连接
打开Navicat进行远程连接设置。主机填写nas在DDNS上的解析域名即可,我这里使用了二级域名。输入用户名、密码、端口号,测试连接。
连接成功,大功告成。