群晖NAS利用Docker安装MySQL8并远程访问

群晖教程3年前 (2022)更新 ypng
51 0 0
群晖NAS利用Docker安装MySQL8并远程访问
群晖NAS利用Docker安装MySQL8并远程访问

​​做为一个NAS发烧友玩家,在追求极致硬件配置的同时,也想在各个方面压榨一下自己的黑群晖,要不就对不起自己投入那么多的毛爷爷了。你是不是经常苦恼,在各个电脑服务器安装了N多个MySQL,连自己都搞混了不知道该用哪一个?!那我们在自己的NAS上安装一个吧,可以永久使用。不用担心重装操作系统之后或者阿里云服务器到期之后的苦恼,来体验一下可以替代阿里云的NAS上使用docker安装并且远程访问的mysql吧,它不但可以用于日常的开发库,还可以当做自己小博客的生产库,N多好处快来体验。

一、我的群晖概览

项目配置RMB
CPUi7 8700T1245元
主板技嘉B365 M AORUS ELITE509元
内存条美商海盗船 DDR4 3000Hz 8G * 41000元
机箱万由NSC-810A U-NAS1150元
电源海韵350W450元
散热英特尔CPU自带散热没花钱
SSD三星980 500G * 21000元
NAS硬盘希捷酷狼 4T * 86250元
11604元

 

群晖NAS利用Docker安装MySQL8并远程访问群晖NAS利用Docker安装MySQL8并远程访问

群晖的配置是不是可以达到骨灰级玩家了呢,请看花了一万多自己组装的NAS配置。采用了低功耗的i7八代8700T,无论是性价比、性能、功耗,这个U绝了。硬盘采用了高端的希捷NAS酷狼专用盘,读写速度和安全性都更胜一筹。内存卡槽加了4条DDR4 3000Hz的海盗船马甲线。此外,还用了三星刚出的980 500G的两块SSD做了读写缓存,因为自己的NAS还加配了一个万兆的网卡,所以另外买了一台万兆的交换机,在内网的访问速度简直绝了,废话不说,请看图:

群晖NAS利用Docker安装MySQL8并远程访问

二、安装Docker

在群晖套件中心搜索docker,点击安装即可。

群晖NAS利用Docker安装MySQL8并远程访问

三、安装MySQL

进入Docker,点击注册表,搜索mysql,如图第一个即是需要安装的mysql,右键下载此映像,选择8.0.4。

群晖NAS利用Docker安装MySQL8并远程访问群晖NAS利用Docker安装MySQL8并远程访问

下载安装完成后系统会通知,在Docker的映像一栏中即可看到该映像和大小,291MB。

群晖NAS利用Docker安装MySQL8并远程访问

四、创建容器并运行MySQL

Docker安装成功后,在文件根目录默认会创建一个docker文件夹。在此docker文件夹下创建一个mysql8共享文件夹,并且在mysql8下建立conf、data、logs文件夹,分别用于存储配置文件、数据、错误日志。在创建容器时会用到它们并给对应的映射关系。选中mysql映像并点击启动,进行创建容器的操作界面,容器名称随便定义。

群晖NAS利用Docker安装MySQL8并远程访问

高级设置里面,启用自动重新启动打上勾。

群晖NAS利用Docker安装MySQL8并远程访问

在配置mysql的data等存放之前,先在群晖的系统里增加conf、data、logs文件夹。

群晖NAS利用Docker安装MySQL8并远程访问

在存储空间这里,选择添加文件夹,然后选择上面创建的三个文件夹,并填写相应的装载路径,超easy。

群晖NAS利用Docker安装MySQL8并远程访问

这里设置容器内部的端口号和容器暴露给宿主机的端口号(即本地端口号),本地端口号会在下面配置远程访问端口转发的时候使用。

群晖NAS利用Docker安装MySQL8并远程访问

对于环境这里,一定要配置上MYSQL_ROOT_PASSWORD,否则后续会失败无法连接的。

群晖NAS利用Docker安装MySQL8并远程访问群晖NAS利用Docker安装MySQL8并远程访问

因为49197有端口冲突,所以我们改成了49198。

群晖NAS利用Docker安装MySQL8并远程访问

五、MySQL的远程配置

点击容器 — mysql8.0.4 — 右键详情。

群晖NAS利用Docker安装MySQL8并远程访问

将tab页转到终端机,并且新增,这样即可连接到容器里面,从而去敲Linux命令。

群晖NAS利用Docker安装MySQL8并远程访问

安装vim:

apt-get update
apt-get install net-tools
apt-get install vim

群晖NAS利用Docker安装MySQL8并远程访问

另外两个类似的,这里就不截图了。登录mysql:

mysql -u root -p

输入密码后执行下面命令,

grant all privileges on *.* to ‘root’@’%’ ;

群晖NAS利用Docker安装MySQL8并远程访问

然后执行:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; #修改root密码

然后退出MySQL即可。

六、路由器设置端口转发

家里使用的是小米路由器,在登录路由器之后,选择高级设置 — 端口转发。然后新增一个端口转发规则,外部访问端口是我们使用Navicat连接的时候的端口号,而内部端口就是刚才设置容器暴露给宿主机的端口号。注意mysql8暴露给外面的端口号只能为4位,如果你设置成49198将连接不通,这应该是mysql底层有相应的限制吧,搞不懂,就先这样。

群晖NAS利用Docker安装MySQL8并远程访问

因为mysql是在容器上跑的,容器内部的端口号仍然是3306,但是容器暴露给宿主机的端口是49198,我们需要把这个49198端口映射到外网端口6034上,家里使用的是小米路由器,在高级设置 — 端口转发设置如下:

群晖NAS利用Docker安装MySQL8并远程访问群晖NAS利用Docker安装MySQL8并远程访问

七、Navicat测试连接

打开Navicat进行远程连接设置。主机填写nas在DDNS上的解析域名即可,我这里使用了二级域名。输入用户名、密码、端口号,测试连接。

群晖NAS利用Docker安装MySQL8并远程访问

连接成功,大功告成。​

发布于 上海
© 版权声明

相关文章

暂无评论

暂无评论...