DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
105 stars 54 forks source link

测试计划:MySQL安装、配置、访问测试 #131

Open renyh opened 6 years ago

renyh commented 6 years ago

问题反馈:在dp2Installer 3.0.6777.41697版本新建dp2kernel实例时报连接参数错误

一、测试环境

1)MySQL版本5.7.19,只启用Namedpipe(命名管道)访问方式。 2)dp2Installer V3 3.0.6777.41697版本

二、操作步骤

1)安装MySQL版本5.7.19,只启用Named-pipe访问方式。 2)在dp2Installer,新建dp2kernel实例,配置底层数据库选择MySQL,连接字符串设置为127.0.0.1;pipe=MYSQL;protocol=NamedPipe,保存时报下图错误:

renyh commented 6 years ago

开发老师留言:dp2installer 已经更新。有空请测试一下 dp2kernel 和 MySQL 5.7 和 8.0 两种搭配情况下有没有问题。我这边已经重现问题并解决了。特别注意测试一下卸载 dp2kernel 实例,因为卸载时候 dp2installer 也要单独访问 MySQL。

注意测试卸载 dp2kernel 实例以前,先安装一个利用了这个实例的 dp2library 实例,并有意创建几个书目库。这样在卸载 dp2kernel 实例的时候,才能测试删除这几个 SQL 数据库的情形。


@zhulinjianke

由于安装MySQL8.0版时发现只能启用TCP/IP访问方式,所以该项测试改为:dp2kernel和MySQL8.0版的搭配测试,测试时同时启用Namedpipe命名管道和TCP/IP访问方式

最好的方式是先用 MySQL 自己的安装程序,按照 TCP/IP + NamedPipe 方式安装,然后通过手动配置(MySQL 的配置文件) my.ini 的方式,让 MySQL 成为只有 NamedPipe 的状态。这个状态对于用户保证安全性比较重要。因为如果带着 TCP/IP 协议功能,用户还应该需要额外去把 Windows 防火墙的 MySQL 端口(端口号是什么,需要有人指导查一下)封锁才会安全。

由于测试和维护工作通常具有很大关联性,所以测试时候顺便弄清楚这些情况,专门写入文字,也是很重要的。


更新后的测试思路:

经过问题反馈和技术开发老师的留言现总结出该项测试的测试思路如下: 1、 dp2kernel和MySQL5.7版的搭配测试(测试时只启用Namedpipe命名管道访问方式)(经任艳华2018/07/15测试)

2、 dp2kernel和MySQL8.0版的搭配测试(hlw20180808-05), 由于安装MySQL8.0版时发现只能启用TCP/IP访问方式,所以这里延伸出两项测试:

a、MySQL8.0只启用Namedpipe命名管道访问方式的安装步骤以及报错内容(测试hlw20180808-01) b、MySQL8.0同时启用Namedpipe命名管道和TCP/IP访的安装步骤以及更改my.ini的方法

该项测试改为: dp2kernel和MySQL8.0版的搭配测试,测试时同时启用Namedpipe命名管道和TCP/IP访问方式(测试hlw20180808-02、hlw20180808-03、hlw20180808-04)

3、 安装最新dp2Installer,测试卸载dp2kernel实例(注意测试卸载 dp2kernel 实例以前,先安装一个利用了这个实例的 dp2library 实例,并有意创建几个书目库。这样在卸载 dp2kernel 实例的时候,才能测试删除这几个 SQL 数据库的情形。)分两种情况: a、 dp2kernel和MySQL5.7版的搭配测试卸载dp2kernel实例(hlw20180808-07) b、 dp2kernel和MySQL8.0版的搭配测试卸载dp2kernel实例(hlw20180808-06)

renyh commented 6 years ago

测试用例 TC-MySQL-01

一、测试目的

测试dp2 V3新版本是否修复5.7访问的问题。

二、测试环境

1)MySQL版本5.7.19,只启用Namedpipe(命名管道)访问方式。

三、测试步骤

1)开始菜单,启动dp2install,未提示新版本。退回dp2installer,再点启动dp2Installer,弹出新版本提示,升级dp2Installer V3,然后dp2Installer升级了dp2kernel、dp2library、dp2OPAC。升级完成后,查看新版本的版本号为 3.0.6779.37529。 2)在dp2Installer里,新建dp2kernel实例,数据库选择MySQL,连接服务器地址输入:、127.0.0.1;pipe=MYSQL;protocol=NamedPipe,然后输入用户名与密码信息后,点击 确定,成功创建dp2kernel实例。 3)再新建dp2library实例,连接的dp2kernel实例选择上面创建的dp2kernel实例,填写好其它信息,点击确定,成功创建dp2kernel实例,最后一步创建4个数据库。 4)通过dp2内务访问上面新建的dp2library实例,新建书目正常,查询书目正常。

四、测试结果

2018/7/15-renyh:测试结果 与期望结果一致。

DigitalPlatform commented 6 years ago

本测试是 #113 的后继测试。

zhulinjianke commented 6 years ago

测试用例:TC-MySQL-02

一、测试目的

用 MySQL 自己的安装程序MySQL Installer-Community安装MySQL8.0,只启用Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication,检查是否可以安装成功,报什么错。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0

三、测试步骤:

1)下载安装包 https://dev.mysql.com/downloads/mysql/, 下载最新版本的mysql-installer-web-community-8.0.12.0.msi,不管电脑是多少位的操作系统都可以适用。运行下载的mis。

2)首先在 License Agreement 界面,勾选I accept the license terms,点击next;

3)在 Choosing a Setup Type 界面,选择Custom,点next;

4)在 Select Products and Features 界面,按照下图选择MySQL Servers 8.0.12 -X64,然后选中MySQL Server 8.0.12-X64,在 Advanced Options for MySQL Server 8.0.12,选择合适的磁盘,点击next;

5)在 Installeron 界面,点Execute,程序开始Downloading。

6)在Product configuration界面,点Next;

7)在Group Replication后,选择第一个选项Standalone MySQL Server/Classic MySQL Replication,点Next;

8)在Type and Networking 界面,只勾选“Named Pipe”,点击“Next”

9)在 Authentication Method 界面,选择第1项 Use Strong Password Encryption for Authentication,点Next;

10)在Accounts and Roles 界面,输入root帐户密码,点Next;

11)在Windows Service 界面,按照默认值不做修改,点Next;

12)在 Apply Configuration 界面,点Execute,在安装到“Starting Server”时出现错误,如下图: image

错误日志如下:

Beginning configuration step: Writing configuration file
Ended configuration step: Writing configuration file

Beginning configuration step: Updating Windows Firewall rules
Attempting to delete a Windows Firewall rule with command: netsh.exe advfirewall firewall delete rule name="Port 3306" protocol=TCP localport=3306

没有与指定标准相匹配的规则。

An error occurred running netsh.exe delete:
The netsh.exe process did not return any error. Review the application log to see if there is a trace of the error.
The attempt to delete a Windows Firewall rule failed.
You can add or delete a Windows Firewall rule manually by following the instructions at this URL:
http://windows.microsoft.com/en-US/windows-vista/Allow-a-program-to-communicate-through-Windows-Firewall
Ended configuration step: Updating Windows Firewall rules

Beginning configuration step: Adjusting Windows service
Attempting to grant Network Service require filesystem permissions.
Granted permissions.
Adding new service
New service added
Ended configuration step: Adjusting Windows service

Beginning configuration step: Initializing Database
Deleting the data directory from a previous (failed) configuration...
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.12...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...
2018-09-19T22:32:10.691979Z 0 [Warning] [MY-011071] [Server] option 'read_buffer_size': unsigned value 0 adjusted to 8192
2018-09-19T22:32:10.692143Z 0 [Warning] [MY-011071] [Server] option 'read_rnd_buffer_size': unsigned value 0 adjusted to 1
2018-09-19T22:32:10.692465Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-09-19T22:32:10.692768Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.12) initializing of server in progress as process 29480
2018-09-19T22:32:19.118445Z 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2018-09-19T22:32:23.212246Z 0 [System] [MY-013170] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.12) initializing of server has completed
Process for mysqld, with ID 29480, was run successfully and exited with code 0.
Successfully started process for MySQL Server 8.0.12.
MySQL Server 8.0.12 intialized the database successfully.
Ended configuration step: Initializing Database

Beginning configuration step: Starting Server
Attempting to start service MySQL80...
Successfully started service MySQL80.
Waiting until a connection to MySQL Server 8.0.12 can be established (with a maximum of 10 attempts)...
  Retry 1: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 2: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 3: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 4: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 5: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 6: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 7: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 8: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 9: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 10: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Failed to connect to MySQL Server 8.0.12 after 10 attempts.
Ended configuration step: Starting Server

四、测试结果

20180919-renyh:【总结】安装MySQL8.0时,只启用Named Pipe访问方式,认证方式选择Use Strong Password Encryption for Authentication,不能安装成功。应该向MySQL反应一下这个问题。

zhulinjianke commented 6 years ago

测试用例:TC-MySQL-03

一、测试目的

用 MySQL 自己的安装程序MySQL Installer-Community安装MySQL8.0,只启用Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),检查是否可以安装成功,报什么错。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0

三、测试步骤:

1)下载安装包 https://dev.mysql.com/downloads/mysql/, 下载最新版本的mysql-installer-web-community-8.0.12.0.msi,不管电脑是多少位的操作系统都可以适用。运行下载的mis。

2)首先在 License Agreement 界面,勾选I accept the license terms,点击next;

3)在 Choosing a Setup Type 界面,选择Custom,点next;

4)在 Select Products and Features 界面,按照下图选择MySQL Servers 8.0.12 -X64,然后选中MySQL Server 8.0.12-X64,在 Advanced Options for MySQL Server 8.0.12,选择合适的磁盘,点击next;

5)在 Installeron 界面,点Execute,程序开始Downloading。

6)在Product configuration界面,点Next;

7)在Group Replication后,选择第一个选项Standalone MySQL Server/Classic MySQL Replication,点Next;

8)在Type and Networking 界面,只勾选“Named Pipe”,点击“Next”

9)在 Authentication Method 界面,选择第2项 Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),点Next;

10)在Accounts and Roles 界面,输入root帐户密码,点Next;

11)在Windows Service 界面,按照默认值不做修改,点Next;

12)在 Apply Configuration 界面,点Execute,在安装到“Starting Server”时出现错误,如下图: image

错误日志如下:

Beginning configuration step: Writing configuration file
Ended configuration step: Writing configuration file

Beginning configuration step: Updating Windows Firewall rules
Attempting to delete a Windows Firewall rule with command: netsh.exe advfirewall firewall delete rule name="Port 3306" protocol=TCP localport=3306

没有与指定标准相匹配的规则。

An error occurred running netsh.exe delete:
The netsh.exe process did not return any error. Review the application log to see if there is a trace of the error.
The attempt to delete a Windows Firewall rule failed.
You can add or delete a Windows Firewall rule manually by following the instructions at this URL:
http://windows.microsoft.com/en-US/windows-vista/Allow-a-program-to-communicate-through-Windows-Firewall
Ended configuration step: Updating Windows Firewall rules

Beginning configuration step: Adjusting Windows service
Attempting to grant Network Service require filesystem permissions.
Granted permissions.
Adding new service
New service added
Ended configuration step: Adjusting Windows service

Beginning configuration step: Initializing Database
Deleting the data directory from a previous (failed) configuration...
Attempting to run MySQL Server with --initialize-insecure option...
Starting process for MySQL Server 8.0.12...
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...
2018-09-19T22:44:45.580636Z 0 [Warning] [MY-011071] [Server] option 'read_buffer_size': unsigned value 0 adjusted to 8192
2018-09-19T22:44:45.580786Z 0 [Warning] [MY-011071] [Server] option 'read_rnd_buffer_size': unsigned value 0 adjusted to 1
2018-09-19T22:44:45.581025Z 0 [Warning] [MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2018-09-19T22:44:45.581296Z 0 [System] [MY-013169] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.12) initializing of server in progress as process 35940
2018-09-19T22:44:52.212223Z 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2018-09-19T22:44:55.974220Z 0 [System] [MY-013170] [Server] C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.12) initializing of server has completed
Process for mysqld, with ID 35940, was run successfully and exited with code 0.
Successfully started process for MySQL Server 8.0.12.
MySQL Server 8.0.12 intialized the database successfully.
Ended configuration step: Initializing Database

Beginning configuration step: Starting Server
Attempting to start service MySQL80...
Successfully started service MySQL80.
Waiting until a connection to MySQL Server 8.0.12 can be established (with a maximum of 10 attempts)...
  Retry 1: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 2: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 3: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 4: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 5: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 6: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 7: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 8: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 9: Attempting to connect to Mysql@local:MYSQL with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Waiting 3 seconds before the next connection attempt...
  Retry 10: Attempting to connect to Mysql@localhost:3306 with user root with no password...
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
MySQL error 1042: Unable to connect to any of the specified MySQL hosts.
Failed to connect to MySQL Server 8.0.12 after 10 attempts.
Ended configuration step: Starting Server

四、测试结果

20180919-renyh:【总结】安装MySQL8.0时,只启用Named Pipe访问方式,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),不能安装成功。应该向MySQL反应一下这个问题。

renyh commented 5 years ago

测试用例:TC-MySQL-04

一、测试目的

用 MySQL Installer安装MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication,检查是否可以安装成功,是否可以被dp2kernel访问。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12

三、测试步骤:

1)下载安装包 https://dev.mysql.com/downloads/mysql/, 下载最新版本的mysql-installer-community-8.0.12.0.msi,运行下载的mis。

2)首先在 License Agreement 界面,勾选I accept the license terms,点击next;

3)在 Choosing a Setup Type 界面,选择Custom,点next;

4)在 Select Products and Features 界面,选择MySQL Servers 8.0.12 -X64,然后选中MySQL Server 8.0.12-X64,点Advanced Options按钮打开 Advanced Options for MySQL Server 8.0.12界面,选择合适的磁盘,点OK关闭对话框,再点击next;

5)在 Installeron 界面,点Execute,程序开始Downloading。

6)在Product configuration界面,点Next;

7)在Group Replication后,选择第一个选项Standalone MySQL Server/Classic MySQL Replication,点Next;

8)在Type and Networking 界面,勾选TCP/IP 和 Named Pipe,点击Next;

9)在 Authentication Method 界面,选择第1项 Use Strong Password Encryption for Authentication,点Next;

10)在Accounts and Roles 界面,输入root帐户密码,点Next;

11)在Windows Service 界面,按照默认值不做修改,点Next;

12)在 Apply Configuration 界面,点Execute,完装成功。


13)在dp2installer,创建dp2kernel实例 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost或者127.0.0.1 均报 Retrieval Of the RSA public key is not enabled for insecure connections.

14)SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,提示Unable to connect to any of the specified MySQL hosts.

15)将my.ini文件中socket=mysql=MYSQL 改为 socket=MYSQL,然后重启MySQL服务。然后再在dp2kernel的SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,报 Retrieval Of the RSA public key is not enabled for insecure connections.

四、测试结果

20180920-ryh:安装MySQL8.0,访问方式选TCP/IP+Named Pipe,认证方式选择Use Strong Password Encryption for Authentication,MySQL能安装成功,但dp2kernel不能连接访问MySQL。

renyh commented 5 years ago

测试用例:TC-MySQL-05

一、测试目的

用 MySQL Installer-Community安装MySQL8.0,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),检查是否可以安装成功,是否可以被dp2kernel访问。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12

三、测试步骤:

1)启动MySQL Installer,产品列表中显示TC-MySQL-04安装的MySQL Server 8.0.12。点击MySQL Server8.0.12右侧的reconfigure锚点,重新配置MySQL Server。

2)在Group Replication后,选择第1个选项Standalone MySQL Server/Classic MySQL Replication,点Next;

3)在Type and Networking 界面,勾选TCP/IP(注意不用勾Open Windows Firewall ports for network access)和 Named Pipe(Pipe Name为MYSQL),点击Next;

4)在 Authentication Method 界面,选择第2项 Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),点Next;

5)在Accounts and Roles 界面,输入之前设置root帐户密码,点check通过验证,再点Next;

6)在Windows Service 界面,按照默认值不做修改,点Next;

7)在 Apply Configuration 界面,点Execute,完装成功。


8)在dp2installer,创建dp2kernel实例 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost或者127.0.0.1 ,均正常通过验证。

9)在SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,提示Unable to connect to any of the specified MySQL hosts.

10)将my.ini文件中socket=mysql=MYSQL 改为 socket=MYSQL,然后重启MySQL服务。然后再在dp2kernel的SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,正常通过SQL连接验证,配置dp2kernel成功。

四、测试结果

20180922-ryh:访问方式选TCP/IP+Named Pipe,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),MySQL能安装成功,dp2kernel连接MySQL成功。

renyh commented 5 years ago

测试用例:TC-MySQL-06

一、测试目的

MySQL Installer安装MySQL8.0时,在界面启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),MySQL安装成功后,再手动修改my.ini,改为只启用Named pipe协议,关闭TCP协议。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12

三、测试步骤:

1)先通过MySQL Installer安装MySQL8.0,在界面启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),MySQL安装成功。(安装步骤参考TC-MySQL-05)

2)打开MySQL数据目录D:\ProgramData\MySQL\MySQL Server 8.0,手动修改my.ini配置文件,

将文件内的CLIENT SECTION 与 SERVER SECTION 段代码,如下

# CLIENT SECTION
# ----------------------------------------------------------------------
# 
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
# 
[client]

# pipe=

socket=MYSQL

port=3306

[mysql]
no-beep=

# default-character-set=

# SERVER SECTION
# ----------------------------------------------------------------------
# 
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.=
# 
# server_type=3
[mysqld]

# The next three options are mutually exclusive to SERVER_PORT below.
# skip-networking=
enable-named-pipe=
# shared-memory=

# shared-memory-base-name=MYSQL

# The Pipe the MySQL Server will use
socket=MYSQL

# The TCP/IP Port the MySQL Server will listen on
port=3306

修改为

# CLIENT SECTION
# ----------------------------------------------------------------------
# 
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
# 
[client]

# pipe=

socket=MYSQL

#port=3306

[mysql]
no-beep=

# default-character-set=

# SERVER SECTION
# ----------------------------------------------------------------------
# 
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.=
# 
# server_type=3
[mysqld]

# The next three options are mutually exclusive to SERVER_PORT below.
skip-networking
enable-named-pipe=
# shared-memory=

# shared-memory-base-name=MYSQL

# The Pipe the MySQL Server will use
socket=MYSQL

# The TCP/IP Port the MySQL Server will listen on
#port=3306

修改前后比较

image

3)修改完my.ini后,通过windows服务,重启MySQL服务。

4)先在命令行进行测试,切到MySQL安装目录。 先测TCP/IP方式,输入mysql -u root -p ,然后根据提示输入密码,报 Can't connect to MySQL server on 'localhost' (10061),表示不支持TCP/IP方式了。

再测Named pipe方式,输入mysql --protocol=pipe -u root -p,再根据提示输入密码,连接MySQL成功。

(MySQL命令参考网址:http://blog.sina.com.cn/s/blog_8c5d89000101keb0.html)

5)在dp2installer,创建dp2kernel实例 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost或者127.0.0.1 ,提示Unable to connect to any of the specified MySQL hosts,不能连接MySQL,符合预期,因为手动在my.ini配置里通过skip-networking参数关了TCP和端口。

6)在dp2installer,dp2kernel实例参数配置界面,在SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,正常通过SQL连接验证,配置dp2kernel成功。

四、测试结果

20180922-ryh:测试结果与预期一致

renyh commented 5 years ago

测试用例 TC-MySQL-07

一、测试目的

先通过MySQL Installer安装MySQL8.0,启用TCP + Named pipe方式,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),安装成功后,再参考TC-MySQL-06手动修改my.ini,改为只启用Named pipe。

测试dp2Installer V3 是否可以成功卸载dp2Kernel实例,注意测试卸载 dp2kernel 实例以前,先安装dp2kernel对应的 dp2library 实例,并有意创建几个书目库。这样在卸载 dp2kernel 实例的时候,才能测试删除这几个 SQL 数据库的情形。

二、测试环境

MySQL 8.0.11.0 dp2kernel版本3.1.6837.42769 dp2libary版本3.5.6837.42771

三、测试步骤

1)先参照TC-MySQL-05安装MySQL8.0,启用TCP + Named pipe方式,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),安装成功后,再参考TC-MySQL-06手动修改my.ini,改为只启用Named pipe。

2)在dp2Installer V3,点击菜单 dp2kernel/配置实例,创建dp2kernel实例,实例名为t1。

3)在dp2Installer V3,点击菜单 dp2Library/配置实例,新建dp2Library实例,该实例访问这个dp2Kernel实例。dp2library安装到最后,询问是否创建4个缺省的数据库,点 是,创建4个库成功。

4)在dp2circulation,点击菜单 功能/系统维护/系统管理窗,进入到系统管理窗,在 数据库 属性页,再创建1个书目库,给中文图书,和新建的书目库分别导入一批数据。

5)通过前端工具MySQL Workbench连上MySQL Server,检查这套实例对应的MySQL物理数据库,前缀是t1。

6)在dp2Installer V3,先删除dp2library实例,中间询问是否删除在内核创建的数据,点是,删除dp2libary实例成功。 再删除dp2kernel实例。(或者直接删除dp2kernel实例,或者直接卸载dp2kernel也可以)

7)通过前端工具MySQL Workbench连上MySQL Server,检查这套实例对应的MySQL物理数据库(前缀是t1),应该全部删除。

四、测试结果

2018/08/08-霍利伟:测试与期望结果一致,(注:上次用例的步骤比较简单) 2018/09/22-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-08

一、测试目的

安装MySQL5.7,只启用Namedpipe命名管道访问,安装dp2Kernel实例和dp2library实例。 测试dp2Installer V3 是否可以成功卸载dp2Kernel实例,是否成功删除MySQL5.7对应的数据库。

二、测试环境

Windows 10 家庭中文版 MySQL Server 5.7.23 dp2kernel版本 3.1.6837.42769
dp2libary版本 3.5.6837.42771

三、测试步骤

1)先通过 https://dev.mysql.com/downloads/mysql/ ,下载mysql-installer-community-5.7.23.0 .msi,然后安装MySQL Server 5.7.23,只启用Named pipe访问方式。

2)在dp2Installer V3,点击菜单 dp2kernel/配置实例,创建dp2kernel实例,实例名为t1,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe。

3)在dp2Installer V3,点击菜单 dp2Library/配置实例,新建dp2Library实例,该实例访问这个dp2Kernel实例。dp2library安装到最后,询问是否创建4个缺省的数据库,点 是,创建4个库成功。

4)在dp2circulation,点击菜单 功能/系统维护/系统管理窗,进入到系统管理窗,在 数据库 属性页,再创建1个书目库,给中文图书和新建的书目库分别导入一批数据。

5)通过前端工具MySQL Workbench连上MySQL Server,检查这套实例对应的MySQL物理数据库,前缀是t1。

6)在dp2Installer V3,先删除dp2library实例,中间询问是否删除在内核创建的数据,点是,删除dp2libary实例成功。 再删除dp2kernel实例。(或者直接删除dp2kernel实例,或者直接卸载dp2kernel也可以)

7)通过前端工具MySQL Workbench连上MySQL Server,检查这套实例对应的MySQL物理数据库(前缀是t1),应该全部删除。

四、测试结果

2018/08/08-霍利伟:测试与期望结果一致,(注:上次用例的步骤比较简单) 2018/09/22-renyh:测试结果与预期一致。

DigitalPlatform commented 5 years ago

测试用例:TC-MySQL-05

前一段我的笔记本电脑上安装了 MySQL 版本为 MySQL Server 8.0.11(不是 8.0.12),安装界面的差异是,在指定 MySQL TCP 端口号的界面,没有 X Protocol 的端口号输入文本框。在安装到后面某一步的时候,可以单独选择是否使用 X Protocol,可以选择不启用,我当时就是选择的不启用。下面2个图8.0.11的界面:

而 8.0.12 在 MySQL TCP 的端口界面就有 X Protocol 的输入文本框,里面默认的是 33060。我尝试把这里的端口号数字删除,但输入框右侧出现一个小图标报错,因此最后无法删除,只好带着 X Protocal 安装了。如下图

8.0.11 安装时候如果选择 Use Strong Password Encryption for Authentication,那么在 dp2kernel 中创建实例的时候,原版本(也就是 TC-MySQL-05 中提到有问题的 dp2installer 版本)可以创建成功实例,没有报错。测试各种功能都正常。

这一点我印象很深,因为当时是开发的一台小米笔记本电脑是 MySQL 5.7,另外一台笔记本电脑是 8.0.11,两台都是测试通过的。具体来说,就是数据库连接字符串中包含 "SslMode=none;" 参数的时候,无论是是对哪个版本的 MySQL 都是测试通过了的(MySQL 8.0.11 用了 Strong password ... 方式安装)。

刚才我又卸载了 8.0.11,重新安装了 MySQL 8.0.12,发现用 dp2installer 上述版本,dp2kernel 创建实例出现 TC-MySQL-05 中的报错。

然后我修改了 dp2kernel 相关代码。给 MySQL 数据库安装配置对话框加了一个 checkbox,名为“SSL”,如果勾选了,数据库连接字符串中将不会有 "SslMode=none;" 部分;如果没有勾选,则有这个部分。这样设计的用意,是让对话框可以适应 MySQL 5.7 和 MySQL 8.0 两种情况。据我推测,MySQL 8.0.12 默认安装方式下,必须不包含这个 "SslMode=none;" 部分才行(注意 MySQL 8.0.11 不是这样表现的)。

后面请按照这个原则去测试。总的来说,上述“SSL” checkbox,总有一种情况是可用的。

MySQL Server 5.7 8.0.11 Strong 8.0.11 Legacy 8.0.12 Strong 8.0.12 Legacy
Connector 5.7 无 V X V
8.0.11 (无) V X X
8.0.11 (SslMode=none;) V V V
8.0.12(无) X X X V V
8.0.12 (SslMode=none;) V V V V V
renyh commented 5 years ago

20180923开发老师留言:

dp2installer 更新了,请用这个版本针对 MySQL 8.0.12 进行测试。

一般来说,很难在同一台机器上一会儿安装 8.0.11 一会儿又安装 8.0.12 进行反复测试。为了节省成本,现在就只测试 8.0.12 即可,如果用户有任何问题,提醒用户用 8.0.12 或者后继版本。

但最新 dp2installer 要对 MySQL 5.7 进行测试。因为这种版本的环境很多,也不一定都能要求用户升级到最新版本。我的开发环境就是这个 MySQL 版本,我测试了是可用的


20180923开发老师留言:

早上我发现利用 dp2kernel 创建实例的 MySQL 对话框来验证是否可以访问的时候,一旦某一次可以访问,那么改换参数以后再尝试验证访问(比如改变了 "SSL" checkbox 的勾选状态)的时候,无论如何都可以成功访问。实际上,是因为 MySQL 服务器一端 connectiong pooling 发生了作用,造成了这种现象。

初步研究发现,只能每次在需要验证是否可以访问之前,(用 Windows “服务”)专门重启一次 MySQL Service,才能避免观察得到错误的结论

测试的时候请坚持每次重要检测以前请重启 MySQL Service。

renyh commented 5 years ago

20180923 16:42:34 开发老师留言:

dp2installer 更新了,可以测试了。这次把 MySQL 数据库参数对话框里面的 SslMode 参数,设计为 ComboBox 形态,里面有 5 个值,希望可以满足相当长一段时间的发展需求了。

Preferred 的意思是“推荐的”。 意思很含糊。就是说 Connector 和 MySQL 软件自己看着办,有可能偏向用 SSL,也有可能偏向不用,一切看当时的环境条件。但这个恰恰是后面手册文档里面要推荐用户尝试首选的值。

None 表示不用 SSL

Required 表示要用 SSL。

VerifyCA 和 VerifyFull 目前看样子用不到 ,我也不知道它们的详细情况,应该以后有用,这次顺便测试了有好处。

这些列表值,都提供给用户安装时候选择,最初的目的是穷尽一切可能,因为这也是编代码角度的穷举了,比较有效。在测试比较完整以后,我们归纳一下,可以给用户一个建议,什么情况主要选用什么值。或者将来也有少量可能把这些值进一步简化,降低用户的选择组合尝试难度。

ComboBox 还允许手动输入一些值。目前只用选择的值即可。空和 Preferred 意思相同


如果要频繁切换 Strong 和 Legacy 模式,可以考虑用 MySQL Installer 来切换,就不必重装 MySQL 了。也可以用修改 my.ini 来切换,但操作比较繁琐。

测试的时候请坚持每次重要检测以前请重启 MySQL Service


image

image

renyh commented 5 years ago

测试用例 TC-MySQL-09.1

一、测试目的

用 MySQL Installer安装MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。 (Preferred 的意思是“推荐的”。意思很含糊。就是说 Connector 和 MySQL 软件自己看着办,有可能偏向用 SSL,也有可能偏向不用,一切看当时的环境条件。)

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)下载安装包 https://dev.mysql.com/downloads/mysql/, 下载最新版本的mysql-installer-community-8.0.12.0.msi,运行下载的mis。 2)在 License Agreement 界面,勾选I accept the license terms,点击next; 3)在 Choosing a Setup Type 界面,选择Custom,点next; 4)在 Select Products and Features 界面,按照下图选择MySQL Servers 8.0.12 -X64,然后选中MySQL Server 8.0.12-X64,在 Advanced Options for MySQL Server 8.0.12,选择合适的磁盘,点击next; 5)在 Installeron 界面,点Execute,程序开始安装。 6)在Product configuration界面,点Next; 7)在Group Replication后,选择第一个选项Standalone MySQL Server/Classic MySQL Replication,点Next; 8)在Type and Networking 界面,勾选TCP/IP(注意不用勾Open Windows Firewall ports for network access)和 Named Pipe(Pipe Name为MYSQL),点Next;

9)在 Authentication Method 界面,选择第1项 Use Strong Password Encryption for Authentication,点Next;

10)在Accounts and Roles 界面,输入root帐户密码,点Next; 11)在Windows Service 界面,按照默认值不做修改,点Next; 12)在 Apply Configuration 界面,点Execute,完装成功。


13)在dp2installer,创建dp2kernel实例t1 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择 Preferred ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

14)创建dp2library实例t1 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

15)用dp2内务连上dp2library,导入一批iso数据成功,在书目查询窗检索正常。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-09.2

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t2 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择 None ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t2 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功

4)用dp2内务连上dp2libary实例t2,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-09.3

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t3 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择 Required ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t3 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功

4)用dp2内务连上dp2libary实例t3,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-09.4

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t4 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择 VerifyCA ,输入MySQL密码,点确定,不能通过MySQL连接验证,提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

3)在dp2kernel的MySQL配置参数界面,SQL服务器名输入localhost,SSL模式 选择 VerifyFull ,输入MySQL密码,点确定,不能通过MySQL连接验证,同样提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-10.1

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t101 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式 选择Preferred ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t101 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功

4)用dp2内务连上dp2libary实例t101,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-10.2

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t102 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式 选择None ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t1012,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功

4)用dp2内务连上dp2libary实例t102,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180923-renyh:?。

renyh commented 5 years ago

测试用例 TC-MySQL-10.3

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t103 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式 选择Required ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t103 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功

4)用dp2内务连上dp2libary实例t103,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-10.4

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)在dp2installer,创建dp2kernel实例t104 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式 选择 VerifyCA ,输入MySQL密码,点确定,不能通过MySQL连接验证,提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

3)在dp2kernel的MySQL配置参数界面,SQL服务器名输入localhost,SSL模式 选择 VerifyFull ,输入MySQL密码,点确定,不能通过MySQL连接验证,同样提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

四、测试结果

20180923-renyh:。

renyh commented 5 years ago

测试用例 TC-MySQL-11.1

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)手动修改my.ini文件,将socket=mysql=MYSQLsocket=MYSQL,然后通过Windows服务重启MySQL80(否则在dp2kernel,用命名管道方式连接MySQL,会提示Unable to connect to any of the specified MySQL hosts.)

3)在dp2installer,创建dp2kernel实例t111 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Preferred ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-11.2

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-11.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t112 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择None ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 Retrieval Of the RSA public key is not enabled for insecure connections.

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-11.3

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-11.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t113 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-11.4

一、测试目的

已安装好的MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-11.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t114 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

4)在dp2kernel的MySQL配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择VerifyFull ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-12

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Preferred/None/Required/VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)手动修改my.ini文件仅启用Named pipe协议,需要修改CLIENT SECTION与SERVER SECTION片断如下`,然后通过Windows服务重启MySQL80

# CLIENT SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
#
[client]

# pipe=

socket=MYSQL

# port=3306

[mysql]
no-beep

# default-character-set=

# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this 
# file.
#
# server_type=3
[mysqld]

# The next three options are mutually exclusive to SERVER_PORT below.
skip-networking
enable-named-pipe
# shared-memory

# shared-memory-base-name=MYSQL

# The Pipe the MySQL Server will use
socket=MYSQL

# The TCP/IP Port the MySQL Server will listen on
#port=3306

修改前后比较

3)在dp2installer,创建dp2kernel实例t12 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。符合预期,因为关闭了TCP/IP协议。

4)SSL模式 选择None ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

5)SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

6)SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

7)SSL模式 选择VerifyFull ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-13

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.01,SSL配置参数选择Preferred/None/Required/VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)my.ini文件已修改好仅启用Named pipe且MySQL服务已重启,参见TC-MySQL-12第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t13 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。符合预期,因为关闭了TCP/IP协议。

4)SSL模式 选择None ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

5)SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

6)SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

7)SSL模式 选择VerifyFull ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-14.1

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)my.ini文件已修改好且MySQL服务已重启,参见TC-MySQL-12第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t141 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-14.2

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)my.ini文件已修改好且MySQL服务已重启,参见TC-MySQL-12第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t142,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择None,输入MySQL密码,点确定,未通过MySQL连接验证,提示Retrieval Of the RSA public key is not enabled for insecure connections。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-14.3

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)my.ini文件已修改好且MySQL服务已重启,参见TC-MySQL-12第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t143,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Required,输入MySQL密码,点确定,未通过MySQL连接验证,提示SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-14.4

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式选择Use Strong Password Encryption for Authentication。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已安装好,安装步骤参见测试用例 TC-MySQL-07 前12步。

2)my.ini文件已修改好且MySQL服务已重启,参见TC-MySQL-12第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t144,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择VerifyCA,输入MySQL密码,点确定,未通过MySQL连接验证,提示SSL Connection error。

4)将SSL模式 改为VerifyCA,点确定,未通过MySQL连接验证,提示SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180923-renyh:测试结果如上。

renyh commented 5 years ago

测试用例:TC-MySQL-15.1

一、测试目的

用 MySQL Installer-Community重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。

测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)先手动修改my.ini文件,支持TCP协议,然后重启MySQL,这样在后面MySQL重新配置的check密码环节才能通过,如何修改my.ini参考TC-MySQL-12,还原my.ini设置即可。

2)启动MySQL Installer,产品列表中显示安装的MySQL Server 8.0.12。点击MySQL Server8.0.12右侧的reconfigure锚点,重新配置MySQL Server。

3)在Group Replication后,选择第1个选项Standalone MySQL Server/Classic MySQL Replication,点Next;

4)在Type and Networking 界面,勾选TCP/IP(注意不用勾Open Windows Firewall ports for network access)和 Named Pipe(Pipe Name为MYSQL),点击Next;

5)在 Authentication Method 界面,选择第2项 Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),点Next;

6)在Accounts and Roles 界面,输入之前设置root帐户密码,点check通过验证,再点Next;

7)在Windows Service 界面,按照默认值不做修改,点Next;

8)在 Apply Configuration 界面,点Execute,完装成功。

9)通过Windows服务,重启MySQL8.0 Service。


10)在dp2installer,创建dp2kernel实例t151,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式选择Preferred,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

11)创建dp2library实例t151 ,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

12)用dp2内务连上dp2libary实例t151,导入一批iso数据成功,在书目查询窗检索正常。

13)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-15.2

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t152,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式选择None,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t152,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

4)用dp2内务连上dp2libary实例t152,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,新建一条书目数据,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-15.3

一、测试目的

用 MySQL Installer-Community重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Required, 是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t153,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式选择Required,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t153,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

4)用dp2内务连上dp2libary实例t153,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,给其中一条书目上传一个对象,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-15.4

一、测试目的

用 MySQL Installer-Community重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择VerifyCA, 是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t154,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式选择VerifyCA,输入MySQL密码,点确定,不能通过MySQL连接验证,提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

3)将SSL模式 改为 VerifyFull ,点确定,不能通过MySQL连接验证,同样提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

退出dp2kernel配置

四、测试结果

20180924-ryh:测试结果如上。

renyh commented 5 years ago

测试用例:TC-MySQL-16.1

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t161,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式选择Preferred,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t161,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

4)用dp2内务连上dp2libary实例t61,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,为一条书目新建一个对象,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-16.1

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t162,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式选择None,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t162,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

4)用dp2内务连上dp2libary实例t162,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,为一条书目新建一个对象,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-16.3

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t163,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式选择Required,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

3)创建dp2library实例t163,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

4)用dp2内务连上dp2libary实例t63,导入一批iso数据成功,在书目查询窗检索正常。

5)在dp2内务的种册窗,为一条书目新建一个对象,保存成功。

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-16.4

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)在dp2installer,创建dp2kernel实例t164,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1,SSL模式选择VerifyCA,输入MySQL密码,点确定,不能通过MySQL连接验证,提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。

3)将SSL模式 改为 VerifyFull ,点确定,不能通过MySQL连接验证,同样提示 连接SQL数据库出错:根据验证过程,远程证书无效。类型:System.Security.Authentication.AuthenticationException。 退出dp2kernel配置

四、测试结果

20180924-ryh:测试结果与预期一致。

renyh commented 5 years ago

测试用例:TC-MySQL-17.1

一、测试目的

重新配置MySQL8.0.12,启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)手动修改my.ini文件,将socket=mysql=MYSQLsocket=MYSQL,然后通过Windows服务重启MySQL80(否则在dp2kernel,用命名管道方式连接MySQL,会提示Unable to connect to any of the specified MySQL hosts.)

3)在dp2installer,创建dp2kernel实例t171 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Preferred ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error

退出创建dp2kernel实例 。

四、测试结果

20180924-ryh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-17.2

一、测试目的

重新配置MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-17.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t172 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择None ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

4)创建dp2library实例t172,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

5)用dp2内务连上dp2libary实例t172,导入一批iso数据成功,在书目查询窗检索正常。

6)在dp2内务的种册窗,为一条书目新建一个对象,保存成功。

四、测试结果

20180924-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-17.3

一、测试目的

重新配置MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-17.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t173 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-17.4

一、测试目的

重新配置MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好,并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)已修改my.ini文件且重启了MySQL80服务,参见TC-MySQL-17.1第2步。

本用例不用执行1),2)步。

3)在dp2installer,创建dp2kernel实例t174 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

4)将SSL模式 改为VerifyCA ,点确定,未通过MySQL连接验证,提示 SSL Connection error。**

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-18

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式为Use Legacy Authentication Method(Retain MySQL 5.x Compatibility。) 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Preferred/None/Required/VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好(TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)手动修改my.ini文件仅启用Named pipe协议,需要修改CLIENT SECTION与SERVER SECTION片断如下`,然后通过Windows服务重启MySQL80,修改前后比较:

3)在dp2installer,创建dp2kernel实例t18 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。符合预期,因为关闭了TCP/IP协议。

4)SSL模式 选择None ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

5)SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

6)SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

7)SSL模式 选择VerifyFull ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-20.1

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式为Use Legacy Authentication Method(Retain MySQL 5.x Compatibility。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Preferred,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好(TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)my.ini文件已修改好仅启用Named pipe且MySQL服务已重启,参见TC-MySQL-18第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t201 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果 20180924-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-20.2

一、测试目的

已安装好的MySQL8.0.12(手动修改my.ini仅启用Named pipe协议,关闭TCP/IP,认证方式为Use Legacy Authentication Method(Retain MySQL 5.x Compatibility。) 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择None,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好(TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)my.ini文件已修改好仅启用Named pipe且MySQL服务已重启,参见TC-MySQL-18第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t202 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择None ,输入MySQL密码,点确定,通过了MySQL连接验证,回到dp2kernel实例配置界面,补全其它配置,完成dp2kernel实例创建。

4)创建dp2library实例t202,访问这个dp2kernel实例 ,dp2libary创建最后询问是否创建4个库,点是,创建4个库成功。

5)用dp2内务连上dp2libary实例t202,导入一批iso数据成功,在书目查询窗检索正常。

6)在dp2内务的种册窗,为一条书目新建一个对象,保存成功。

四、测试结果

20180924-renyh:测试结果与预期一致。

renyh commented 5 years ago

测试用例 TC-MySQL-20.3

一、测试目的

重新配置MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好(TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)my.ini文件已修改好仅启用Named pipe且MySQL服务已重启,参见TC-MySQL-18第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t203 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-20.4

一、测试目的

重新配置MySQL8.0.12(启用TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility)。 测试dp2kernel连接MySQL时,SQL Server名称输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL配置参数选择Required,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 10 64位操作系统 MySQL版本为MySQL Server 8.0.12 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤:

1)MySQL已重新配置好(TCP + Named pipe协议,认证方式选择Use Legacy Authentication Method(Retain MySQL 5.x Compatibility),并且重启了MySQL服务,参见TC-MySQL-15.1 前9步。

2)my.ini文件已修改好仅启用Named pipe且MySQL服务已重启,参见TC-MySQL-18第2步。

此用例不需要执行1),2)步。

3)在dp2installer,创建dp2kernel实例t204 ,选择MySQL,在配置参数界面,SQL服务器名输入127.0.0.1;pipe=MYSQL;protocol=NamedPipe,SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示 SSL Connection error。

4)将SSL模式 改为VerifyCA ,点确定,未通过MySQL连接验证,提示 SSL Connection error。**

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果如上。

renyh commented 5 years ago

测试用例 TC-MySQL-30

我刚才在另一台机式,先升级的dp2installer至最新版本(升级dp2library至最新版本),然后在dp2installer删除之前创建的实例,之前的实例dp2kernel里使用MySQL5.7.17,SQL Server名称是localhost的,报下面错误。 default

然后我到dp2kernel配置MySQL参数界面,看到SQL Server名称是localhost,SSL模块是默认的Preferred,此时点 确定 报The host localhost does not support SSL connections。然后我将SSL模式由Preferred改为None,通过了MySQL连接验证。这样可以顺利删除之前创建的dp2library和dp2kernel实例了。


对于 dp2kernel 来说,以前能运行,升级(通过 dp2installer)以后也应该能运行。当然这个说的是中间没有人修改过 MySQL 的配置(或者升级过 MySQL)。谁升级 MySQL,谁就要对 MySQL 是否符合要求负责。后面需要对 MySQL 的用法写一些文档,做一些规定。你按照这个路子思考一下,看看是不是顺的。


谢老师,您看:这是dp2003上原来一个dp2kernel实例的配置,原来的dp2kernel版本是正常访问MySQL。

dp2installer升级至最新版本后,访问不了,报The host 127.0.0.1 does not support SSL connections。

dp2003上的MySQL版本是5.7.17,只启用了Named pipe方式。dp2kernel使用的连接字符串是127.0.0.1;pipe=MYSQL;protocol=NamedPipe。

原来的dp2kernel配置MySQL参数界面,没有SSL模式这一项,在新的dp2kernel版本看作空,空相当于Preferred方式。

当MySQL5.7时,连接字符串是127.0.0.1;pipe=MYSQL;protocol=NamedPipe,如果默认用Preferred,是不支持的。None是支持的。


dp2kernel 以前版本的 databases.xml 文件中,datasource 元素没有 mode 属性。现在弄清楚了,这种情况应该默认为 SslMode=None,这样才能兼容以前针对 MySQL 5.7 的情况。 dp2installer 已经更新,按照这个策略来运行了,你升级后测试一下。为了模拟以前版本的情况,可以手动为 databases.xml 文件删除 datasource 元素的 mode 属性,然后升级测试。测试时候,要求这时候启动 dp2installer 的 dp2kernel 实例管理,看到的应该是 SslMode 为 None 的效果。 (测试用例 TC-MySQL-31)

但上述兼容策略,也不是完全没有问题。可能在这一段时间,存在一些已经升级到 MySQL 8.0 的 dp2kernel,其 databases.xml 文件中的 mode 属性值不符合上述规则,那么可能需要手动处理一下(或者在 dp2installer 中 dp2kernel 实例管理界面重新设置一下)。但相信这种情况极少,基本不用担忧。

renyh commented 5 years ago

测试用例 TC-MySQL-21

一、测试目的

用MySQL Installer安装MySQL Server 5.7.23-X64,安装时仅启用Named pipe协议。 测试dp2kernel连接MySQL时,SQL Server名称输入localhost,SSL配置参数选择Preferred/None/Required/VerifyCA/VerifyFull,是否能够连接成功,导入数据是否正确。

二、测试环境

Windows 7 64位操作系统 MySQL版本为MySQL Server 5.7.23-X64 kernel (3.1.6840.29985) library (3.5.6840.29987)

三、测试步骤

先通过MySQL Installer安装MySQL Server 5.7.23-X64,下面是安装步骤: 1)下载安装包 https://dev.mysql.com/downloads/mysql/, 下载mysql-installer-community-5.7.23.0.msi,运行下载的mis。 2)在 License Agreement 界面,勾选I accept the license terms,点击Next; 3)在 Choosing a Setup Type 界面,选择Custom,点Next; 4)在 Select Products and Features 界面,选择MySQL Servers 5.7.23 -X64,然后选中MySQL Server 5.7.23-X64,点Advanced Options按钮打开 Advanced Options for MySQL Server 5.7.23界面,选择合适的磁盘,点OK关闭对话框,再点击Next; 5)MySQL Installer会Check Requirements,如果缺少MICROSOFT VISUAL C++ REDISTRIBUTABLE FOR VISUAL STUDIO 2013,会提醒自动安装,然后点Next; 6)在 Installeron 界面,点Execute,程序开始安装,安装完成,点Next; 7)在Product configuration界面,点Next; 8)在Type and Networking 界面,只勾选Named Pipe,点击Next; 9)在Accounts and Roles 界面,输入root帐户密码,点Next; 10)在Windows Service 界面,按照默认值不做修改,点Next; 11)在Plugins and Extensions界面,不勾 Enable X Protorol,点Next; 12)在 Apply Configuration 界面,点Execute,完装成功,点Finish; 13)在Product configuration界面,点Next; 14)最后点Finish。


下面dp2kernel配置连接MySQL5.7.23的测试:

1)在dp2installer,创建dp2kernel实例t21 ,选择MySQL,在配置参数界面,SQL服务器名输入localhost,SSL模式 选择Preferred,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。符合预期,因为关闭了TCP/IP协议。

2)SSL模式 选择None ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

3)SSL模式 选择Required ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

4)SSL模式 选择VerifyCA ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

5)SSL模式 选择VerifyFull ,输入MySQL密码,点确定,未通过MySQL连接验证,提示Unable to connect to any of the specified MySQL hosts。

退出创建dp2kernel实例 。

四、测试结果

20180924-renyh:测试结果与预期一致。