QNAP似乎并没有自带MySQL数据库组件,因此我采用docker方式安装
打开container station,即docker,安装MySQL
在Docker Hub中选择如图
选择latest版本安装,默认都是8.0
等待较长时间后(我大概等了10分钟),可以看到如图正在运行的MySQL
尝试登陆mysql
密码在启动日志里,所以我们接下去找一下
展开控制台找日志里的密码
每个人安装后的密码都是随机的
执行如下命令,进入MySQL
在执行命令中输入 mysql -u root -p密码复制过来
登陆mysql成功会出现如下界面
mysql>
- 安装后需要更改为自己的密码
FLUSH PRIVILEGES;
ALTER USER "root"@"localhost" IDENTIFIED BY ‘abc123’;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘abc123';
(上面两句话都可以,任选一种,但是密码部分必须重新打才有效)
然后继续执行下列代码
flush privileges;
quit;
大功告成,我们用mysql客户端软件连接测试一下
使用Navicat连接MySQL
连接发现不成功
这是因为使用的是远程连接,换本地连接试试
在威联通的app center中的phpMyAdmin连接试试,成功登陆,所以数据库没问题
那么,如何开启远程访问?
MySQL开启远程访问
登录后先使用mysql数据库 可以show databases; 查看有四个数据库
然后使用命令 use mysql
查询
select user,host from user;
如果没有"%"这个host值,就执行下面这两句:
mysql> update user set host='%' where user='root';
mysql> flush privileges;
然后再执行下面这两句:
select user,host from user;
发现root后面有百分号了。
设置可以远程访问
grant all privileges on *.* to root@'%'identified by 'abc123';
有的版本不支持上述写法,就用下面的写法:
grant all privileges on *.* to ‘root'@‘%';
还是不能远程访问?
如果还是不能访问,只有两种可能
1、路由器端口转发出了问题
虽然container station里面mysql的端口是3306,但威联通与路由器通信的端口可不是3306!!!查看真正的端口:
打开设置,高级,
我这里真正的端口号是32773,所以外网连接的时候,在路由器的端口转发中,内网端口其实是32773
2、防火墙问题
威联通一般没有防火墙问题,只可能是与MariaDB端口冲突之类的,因为威联通自带一个MariaDB。如图,我一般是禁用的