QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

QNAP似乎并没有自带MySQL数据库组件,因此我采用docker方式安装

打开container station,即docker,安装MySQL

在Docker Hub中选择如图

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB
QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB
选择latest版本安装,默认都是8.0

等待较长时间后(我大概等了10分钟),可以看到如图正在运行的MySQL

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB


尝试登陆mysql

密码在启动日志里,所以我们接下去找一下
QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

展开控制台找日志里的密码

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB
每个人安装后的密码都是随机的

执行如下命令,进入MySQL
QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB
在执行命令中输入 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

连接发现不成功

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

这是因为使用的是远程连接,换本地连接试试

在威联通的app center中的phpMyAdmin连接试试,成功登陆,所以数据库没问题

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

那么,如何开启远程访问?

 

MySQL开启远程访问

登录后先使用mysql数据库    可以show databases; 查看有四个数据库

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB


然后使用命令 use mysql

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

查询
select user,host from user;

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

如果没有"%"这个host值,就执行下面这两句:

mysql> update user set host='%' where user='root';
mysql> flush privileges;

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

 

然后再执行下面这两句:

select user,host from user;

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

发现root后面有百分号了。

设置可以远程访问
grant all privileges on *.* to root@'%'identified by 'abc123';

有的版本不支持上述写法,就用下面的写法:

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

还是不能远程访问?

如果还是不能访问,只有两种可能

1、路由器端口转发出了问题

虽然container station里面mysql的端口是3306,但威联通与路由器通信的端口可不是3306!!!查看真正的端口:

打开设置,高级,

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

我这里真正的端口号是32773,所以外网连接的时候,在路由器的端口转发中,内网端口其实是32773 

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

2、防火墙问题

威联通一般没有防火墙问题,只可能是与MariaDB端口冲突之类的,因为威联通自带一个MariaDB。如图,我一般是禁用的

QNAP威联通安装MySQL(container station安装 docker安装)更换代替自带的MariaDB

 

 

 

 

 

 

上一篇:python爬虫高铁12306余票爬取


下一篇:Python高级应用程序设计任务