DigitalPlatform / dp2

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

MySQL连接测试 #830

Open wuayang001 opened 3 years ago

wuayang001 commented 3 years ago

TODO

wuayang001 commented 3 years ago

测试要点:

MySQL版本8.0.22,命名管道连接方式 1.1 dp2installer中是否可以成功创建实例 1.2 内务中创建单个书目信息,观察是否可以保存到数据库上 1.3 内务中创建单个册信息,观察是否可以保存到数据库上 1.4 内务中创建单个读者信息,观察是否可以保存到数据库上 1.5 批量导出marc、bdf 文件观察是否完整 1.6 批量导入marc、bdf 文件观察是否完整 1.7 测试是否可以大备份本地库数据 1.8 测试从大备份中恢复数据是否完整(主要去数据库查看书目信息,册信息,读者信息) 1.9 dp2batch连接dp2kernel后,测试是否可以导入数据 1.10 dp2batch连接dp2kernel后,测试是否可以导出数据

测试步骤:

1、下载MySQL installer。地址:https://downloads.mysql.com/archives/installer/ 2、下载后,安装8.0.20的数据库服务。详情见:https://github.com/DigitalPlatform/dp2/wiki/MySQL8.0%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4%E5%8F%8A%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9 3、下载dp2installer。地址:http://dp2003.com/dp2Installer/v3/publish.htm 4、在电脑新建两个用来保存实例文件夹。例:C:\dp2\test\dp2kernel 、C:\dp2\test\dp2library 5、安装dp2kernel。点击配置实例。点击左下角【新增】 6、实例名填写:test。数据目录填写:“C:\dp2\test\dp2kernel ” 7、SQL服务器选择“MySQL Server”点击下面“...”图标 8、服务器名填写:旧:127.0.0.1;pipe=MYSQL;protocol=NamePipe 新:127.0.0.1;protocol=NamedPipe;pipe=MYSQL;AllowPublicKeyRetrieval=True (以管道方式连接) 9、SSL模式选择:”None“ 10、填写MySQL账号密码。 11、点击右下角【确定】键。参数配置属性页立即消失。没有报错。 12、填写root账户,绑定协议。点击确定 13、安装dp2library。点击配置实例,点击左下角【新增】按钮 14、实例名填写:test。数据目录填写:“C:\dp2\test\dp2library ” 15、选择dp2kernel实例,填写地址及root账户。 16、创建“supervisor”账户。绑定协议。填写图书馆名。点击右下角【确定】键。参数配置属性页立即消失。没有报错。 17、跳出提示:·创建中文期刊库·。点击确定。随后等待安装完成。

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期。 my.ini文件内容

# Other default tuning values
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# Generated by the MySQL Server Instance Configuration Wizard
#
#
# Installation Instructions
# ----------------------------------------------------------------------
#
# On Linux you can copy this file to /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options
# (@localstatedir@ for this installation) or to
# ~/.my.cnf to set user-specific options.
#
# On Windows you should keep this file in the installation directory 
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To
# make sure the server reads the config file use the startup option 
# "--defaults-file". 
#
# To run the server from the command line, execute this in a 
# command line shell, e.g.
# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# To install the server as a Windows service manually, execute this in a 
# command line shell, e.g.
# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# And then execute this in a command line shell to start the server, e.g.
# net start MySQLXY
#
#
# Guidelines for editing this file
# ----------------------------------------------------------------------
#
# In this file, you can use all long options that the program supports.
# If you want to know the options a program supports, start the program
# with the "--help" option.
#
# More detailed information about the individual options can also be
# found in the manual.
#
# For advice on how to change settings please see
# https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
#
#
# 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

# Path to installation directory. All paths are usually resolved relative to this.
# basedir="C:/Program Files/MySQL/MySQL Server 8.0/"

# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data

# The default character set that will be used when a new schema or table is
# created and no character set is defined
# character-set-server=

# The default authentication plugin to be used when connecting to the server
default_authentication_plugin=mysql_native_password

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

# General and Slow logging.
log-output=FILE

general-log=0

general_log_file="LAPTOP-DBB4TE78.log"

slow-query-log=1

slow_query_log_file="LAPTOP-DBB4TE78-slow.log"

long_query_time=10

# Error Logging.
log-error="LAPTOP-DBB4TE78.err"

# ***** Group Replication Related *****
# Specifies the base name to use for binary log files. With binary logging
# enabled, the server logs all statements that change data to the binary
# log, which is used for backup and replication.
log-bin="LAPTOP-DBB4TE78-bin"

# ***** Group Replication Related *****
# Specifies the server ID. For servers that are used in a replication topology,
# you must specify a unique server ID for each replication server, in the
# range from 1 to 2^32 ? 1. “Unique” means that each ID must be different
# from every other ID in use by any other source or replica.
server-id=1

# ***** Group Replication Related *****
# The host name or IP address of the replica to be reported to the source
# during replica registration. This value appears in the output of SHOW REPLICAS
# on the source server. Leave the value unset if you do not want the replica to
# register itself with the source.
# report_host=0.0

# NOTE: Modify this value after Server initialization won't take effect.
lower_case_table_names=1

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=151

# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_open_cache=2000

# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=100M

# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before.  This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=10

#*** MyISAM Specific options
# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).
myisam_max_sort_file_size=100G

# The size of the buffer that is allocated when sorting MyISAM indexes
# during a REPAIR TABLE or when creating indexes with CREATE INDEX
# or ALTER TABLE.
myisam_sort_buffer_size=189M

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=8M

# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=64K

read_rnd_buffer_size=256K

#*** INNODB Specific options ***
# innodb_data_home_dir=

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb

# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=1

# The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=1M

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system.  Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=8M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=48M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=17

# The increment size (in MB) for extending the size of an auto-extend InnoDB system tablespace file when it becomes full.
innodb_autoextend_increment=64

# The number of regions that the InnoDB buffer pool is divided into.
# For systems with buffer pools in the multi-gigabyte range, dividing the buffer pool into separate instances can improve concurrency,
# by reducing contention as different threads read and write to cached pages.
innodb_buffer_pool_instances=8

# Determines the number of threads that can enter InnoDB concurrently.
innodb_concurrency_tickets=5000

# Specifies how long in milliseconds (ms) a block inserted into the old sublist must stay there after its first access before
# it can be moved to the new sublist.
innodb_old_blocks_time=1000

# It specifies the maximum number of .ibd files that MySQL can keep open at one time. The minimum value is 10.
innodb_open_files=300

# When this variable is enabled, InnoDB updates statistics during metadata statements.
innodb_stats_on_metadata=0

# When innodb_file_per_table is enabled (the default in 5.6.6 and higher), InnoDB stores the data and indexes for each newly created table
# in a separate .ibd file, rather than in the system tablespace.
innodb_file_per_table=1

# Use the following list of values: 0 for crc32, 1 for strict_crc32, 2 for innodb, 3 for strict_innodb, 4 for none, 5 for strict_none.
innodb_checksum_algorithm=0

# The number of outstanding connection requests MySQL can have.
# This option is useful when the main MySQL thread gets many connection requests in a very short time.
# It then takes some time (although very little) for the main thread to check the connection and start a new thread.
# The back_log value indicates how many requests can be stacked during this short time before MySQL momentarily
# stops answering new requests.
# You need to increase this only if you expect a large number of connections in a short period of time.
back_log=80

# If this is set to a nonzero value, all tables are closed every flush_time seconds to free up resources and
# synchronize unflushed data to disk.
# This option is best used only on systems with minimal resources.
flush_time=0

# The minimum size of the buffer that is used for plain index scans, range index scans, and joins that do not use
# indexes and thus perform full table scans.
join_buffer_size=256K

# The maximum size of one packet or any generated or intermediate string, or any parameter sent by the
# mysql_stmt_send_long_data() C API function.
max_allowed_packet=4M

# If more than this many successive connection requests from a host are interrupted without a successful connection,
# the server blocks that host from performing further connections.
max_connect_errors=100

# Changes the number of file descriptors available to mysqld.
# You should try increasing the value of this option if mysqld gives you the error "Too many open files".
open_files_limit=4161

# If you see many sort_merge_passes per second in SHOW GLOBAL STATUS output, you can consider increasing the
# sort_buffer_size value to speed up ORDER BY or GROUP BY operations that cannot be improved with query optimization
# or improved indexing.
sort_buffer_size=256K

# The number of table definitions (from .frm files) that can be stored in the definition cache.
# If you use a large number of tables, you can create a large table definition cache to speed up opening of tables.
# The table definition cache takes less space and does not use file descriptors, unlike the normal table cache.
# The minimum and default values are both 400.
table_definition_cache=1400

# Specify the maximum size of a row-based binary log event, in bytes.
# Rows are grouped into events smaller than this size if possible. The value should be a multiple of 256.
binlog_row_event_max_size=8K

# If the value of this variable is greater than 0, a replica synchronizes its master.info file to disk.
# (using fdatasync()) after every sync_master_info events.
sync_master_info=10000

# If the value of this variable is greater than 0, the MySQL server synchronizes its relay log to disk.
# (using fdatasync()) after every sync_relay_log writes to the relay log.
sync_relay_log=10000

# If the value of this variable is greater than 0, a replica synchronizes its relay-log.info file to disk.
# (using fdatasync()) after every sync_relay_log_info transactions.
sync_relay_log_info=10000

# Load mysql plugins at start."plugin_x ; plugin_y".
# plugin_load

# The TCP/IP Port the MySQL Server X Protocol will listen on.
loose_mysqlx_port=33060
wuayang001 commented 3 years ago

测试要点:

  1. MySQL版本8.0.20,命名管道连接方式

1.1 dp2installer中是否可以成功创建实例 1.2 内务中创建单个书目信息,观察是否可以保存到数据库上 1.3 内务中创建单个册信息,观察是否可以保存到数据库上 1.4 内务中创建单个读者信息,观察是否可以保存到数据库上 1.5 批量导出marc、bdf 文件观察是否完整 1.6 批量导入marc、bdf 文件观察是否完整 1.7 测试是否可以大备份本地库数据 1.8 测试从大备份中恢复数据是否完整(主要去数据库查看书目信息,册信息,读者信息) 1.9 dp2batch连接dp2kernel后,测试是否可以导入数据 1.10 dp2batch连接dp2kernel后,测试是否可以导出数据

  1. MySQL版本8.0.20,TCP/IP连接方式(回归1.1-1.10)

  2. MySQL版本8.0.25,命名管道连接方式(回归1.1-1.10)

  3. MySQL版本8.0.25,TCP/IP连接方式(回归1.1-1.10)

wuayang001 commented 3 years ago

测试用例 1

测试要点:

同步的环境下在dp2installer中是否可以成功创建实例

测试环境准备:

  1. MySQL版本8.0.20,命名管道连接方式
  2. MySQL版本8.0.20,TCP/IP连接方式
  3. MySQL版本8.0.25,命名管道连接方式
  4. MySQL版本8.0.25,TCP/IP连接方式

测试步骤:(以MySQL版本8.0.20,命名管道连接方式为例)

  1. 下载MySQL installer。地址:https://downloads.mysql.com/archives/installer/
  2. 下载后,安装8.0.20的数据库服务。详情见:https://github.com/DigitalPlatform/dp2/wiki/MySQL8.0%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4%E5%8F%8A%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9
  3. 下载dp2installer。地址:http://dp2003.com/dp2Installer/v3/publish.htm
  4. 在电脑新建两个用来保存实例文件夹。例:C:\dp2\test\dp2kernel 、C:\dp2\test\dp2library
  5. 安装dp2kernel。点击配置实例。点击左下角【新增】
  6. 实例名填写:test。数据目录填写:“C:\dp2\test\dp2kernel ”
  7. SQL服务器选择“MySQL Server”点击下面“...”图标
  8. 服务器名填写:127.0.0.1;pipe=MYSQL;protocol=NamePipe (以管道方式连接) 管道连接(127.0.0.1;pipe=MYSQL;protocol=NamePipe127.0.0.1;protocol=NamedPipe;pipe=MYSQL;AllowPublicKeyRetrieval=True)
  9. SSL模式选择:”None“
  10. 填写MySQL账号密码。
  11. 点击右下角【确定】键。参数配置属性页立即消失。没有报错。
  12. 填写root账户,绑定协议。点击确定
  13. 安装dp2library。点击配置实例,点击左下角【新增】按钮
  14. 实例名填写:test。数据目录填写:“C:\dp2\test\dp2library ”
  15. 选择dp2kernel实例,填写地址及root账户。
  16. 创建“supervisor”账户。绑定协议。填写图书馆名。点击右下角【确定】键。参数配置属性页立即消失。没有报错。
  17. 跳出提示:·创建中文期刊库·。点击确定。随后等待安装完成。

测试结果:

测试环境六: 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 standard, 计算机编号:dp-2019001 连接方式:管道连接方式,创建dp2kernel实例中,连接数据库时,报出错误: my.ini文件

测试环境五: 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 standard, 计算机编号:dp-2019001 连接方式:TCP/IP连接 测试结果符合预期。 my.ini文件:

# Other default tuning values
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# Generated by the MySQL Server Instance Configuration Wizard
#
#
# Installation Instructions
# ----------------------------------------------------------------------
#
# On Linux you can copy this file to /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options
# (@localstatedir@ for this installation) or to
# ~/.my.cnf to set user-specific options.
#
# On Windows you should keep this file in the installation directory 
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To
# make sure the server reads the config file use the startup option 
# "--defaults-file". 
#
# To run the server from the command line, execute this in a 
# command line shell, e.g.
# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# To install the server as a Windows service manually, execute this in a 
# command line shell, e.g.
# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# And then execute this in a command line shell to start the server, e.g.
# net start MySQLXY
#
#
# Guidelines for editing this file
# ----------------------------------------------------------------------
#
# In this file, you can use all long options that the program supports.
# If you want to know the options a program supports, start the program
# with the "--help" option.
#
# More detailed information about the individual options can also be
# found in the manual.
#
# For advice on how to change settings please see
# https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
#
#
# 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

# Path to installation directory. All paths are usually resolved relative to this.
# basedir="C:/Program Files/MySQL/MySQL Server 8.0/"

# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

# The default character set that will be used when a new schema or table is
# created and no character set is defined
# character-set-server=

# The default authentication plugin to be used when connecting to the server
default_authentication_plugin=mysql_native_password

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

# General and Slow logging.
log-output=FILE

general-log=0

general_log_file="WIN-VICO455QF3G.log"

slow-query-log=1

slow_query_log_file="WIN-VICO455QF3G-slow.log"

long_query_time=10

# Error Logging.
log-error="WIN-VICO455QF3G.err"

# ***** Group Replication Related *****
# Specifies the base name to use for binary log files. With binary logging
# enabled, the server logs all statements that change data to the binary
# log, which is used for backup and replication.
log-bin="WIN-VICO455QF3G-bin"

# ***** Group Replication Related *****
# Sets the binary logging format, and can be any one of STATEMENT, ROW,
# or MIXED. ROW is suggested for Group Replication.
# binlog_format

# ***** Group Replication Related *****
# Causes the master to write a checksum for each event in the binary log.
# binlog_checksum supports the values NONE (disabled) and CRC32.
# The default is CRC32. When disabled (value NONE), the server verifies
# that it is writing only complete events to the binary log by writing
# and checking the event length (rather than a checksum) for each event.
# NONE must be used with Group Replication.
# binlog_checksum

# ***** Group Replication Related *****
# The base name for the relay log. The server creates relay log files in
# sequence by adding a numeric suffix to the base name. If you specify this
# option, the value specified is also used as the base name for the relay log
# index file. Relay logs increase speed by using load-balancing between disks.
# relay_log

# ***** Group Replication Related *****
# Specifies the server ID. For servers that are used in a replication topology,
# you must specify a unique server ID for each replication server, in the
# range from 1 to 2^32 − 1. “Unique” means that each ID must be different
# from every other ID in use by any other replication master or slave.
server-id=1

# ***** Group Replication Related *****
# The host name or IP address of the slave to be reported to the master
# during slave registration. This value appears in the output of SHOW SLAVE HOSTS
# on the master server. Leave the value unset if you do not want the slave to
# register itself with the master.
# report_host=0.0

# ***** Group Replication Related *****
# The TCP/IP port number for connecting to the slave, to be reported to the master during
# slave registration. Set this only if the slave is listening on a nondefault port or if
# you have a special tunnel from the master or other clients to the slave.
report_port=3306

# ***** Group Replication Related *****
# This option specifies whether global transaction identifiers (GTIDs) are
# used to identify transactions. ON must be used with Group Replication.
# gtid_mode

# ***** Group Replication Related *****
# When enabled, the server enforces GTID consistency by allowing execution of
# only statements that can be safely logged using a GTID. You must set this
# option to ON before enabling GTID based replication.
# enforce_gtid_consistency

# ***** Group Replication Related *****
# Whether updates received by a slave server from a master server should be
# logged to the slave's own binary log. Binary logging must be enabled on
# the slave for this variable to have any effect. ON must be used with
# Group Replication.
# log_slave_updates

# ***** Group Replication Related *****
# Determines whether the slave server logs master status and connection information
# to an InnoDB table in the mysql database, or to a file in the data directory.
# The TABLE setting is required when multiple replication channels are configured.
# master_info_repository

# ***** Group Replication Related *****
# Determines whether the slave server logs its position in the relay logs to an InnoDB
# table in the mysql database, or to a file in the data directory. The TABLE setting is
# required when multiple replication channels are configured.
# relay_log_info_repository

# ***** Group Replication Related *****
# Defines the algorithm used to hash the writes extracted during a transaction. If you
# are using Group Replication, this variable must be set to XXHASH64 because the process
# of extracting the writes from a transaction is required for conflict detection on all
# group members.
# transaction_write_set_extraction

# NOTE: Modify this value after Server initialization won't take effect.
lower_case_table_names=1

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=151

# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_open_cache=2000

# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=27M

# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before.  This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=10

#*** MyISAM Specific options
# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).
myisam_max_sort_file_size=100G

# The size of the buffer that is allocated when sorting MyISAM indexes
# during a REPAIR TABLE or when creating indexes with CREATE INDEX
# or ALTER TABLE.
myisam_sort_buffer_size=45M

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=8M

# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=64K

read_rnd_buffer_size=256K

#*** INNODB Specific options ***
# innodb_data_home_dir=

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb

# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=1

# The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=1M

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system.  Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=8M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=48M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=9

# The increment size (in MB) for extending the size of an auto-extend InnoDB system tablespace file when it becomes full.
innodb_autoextend_increment=64

# The number of regions that the InnoDB buffer pool is divided into.
# For systems with buffer pools in the multi-gigabyte range, dividing the buffer pool into separate instances can improve concurrency,
# by reducing contention as different threads read and write to cached pages.
innodb_buffer_pool_instances=8

# Determines the number of threads that can enter InnoDB concurrently.
innodb_concurrency_tickets=5000

# Specifies how long in milliseconds (ms) a block inserted into the old sublist must stay there after its first access before
# it can be moved to the new sublist.
innodb_old_blocks_time=1000

# It specifies the maximum number of .ibd files that MySQL can keep open at one time. The minimum value is 10.
innodb_open_files=300

# When this variable is enabled, InnoDB updates statistics during metadata statements.
innodb_stats_on_metadata=0

# When innodb_file_per_table is enabled (the default in 5.6.6 and higher), InnoDB stores the data and indexes for each newly created table
# in a separate .ibd file, rather than in the system tablespace.
innodb_file_per_table=1

# Use the following list of values: 0 for crc32, 1 for strict_crc32, 2 for innodb, 3 for strict_innodb, 4 for none, 5 for strict_none.
innodb_checksum_algorithm=0

# The number of outstanding connection requests MySQL can have.
# This option is useful when the main MySQL thread gets many connection requests in a very short time.
# It then takes some time (although very little) for the main thread to check the connection and start a new thread.
# The back_log value indicates how many requests can be stacked during this short time before MySQL momentarily
# stops answering new requests.
# You need to increase this only if you expect a large number of connections in a short period of time.
back_log=80

# If this is set to a nonzero value, all tables are closed every flush_time seconds to free up resources and
# synchronize unflushed data to disk.
# This option is best used only on systems with minimal resources.
flush_time=0

# The minimum size of the buffer that is used for plain index scans, range index scans, and joins that do not use
# indexes and thus perform full table scans.
join_buffer_size=256K

# The maximum size of one packet or any generated or intermediate string, or any parameter sent by the
# mysql_stmt_send_long_data() C API function.
max_allowed_packet=4M

# If more than this many successive connection requests from a host are interrupted without a successful connection,
# the server blocks that host from performing further connections.
max_connect_errors=100

# Changes the number of file descriptors available to mysqld.
# You should try increasing the value of this option if mysqld gives you the error "Too many open files".
open_files_limit=4161

# If you see many sort_merge_passes per second in SHOW GLOBAL STATUS output, you can consider increasing the
# sort_buffer_size value to speed up ORDER BY or GROUP BY operations that cannot be improved with query optimization
# or improved indexing.
sort_buffer_size=256K

# The number of table definitions (from .frm files) that can be stored in the definition cache.
# If you use a large number of tables, you can create a large table definition cache to speed up opening of tables.
# The table definition cache takes less space and does not use file descriptors, unlike the normal table cache.
# The minimum and default values are both 400.
table_definition_cache=1400

# Specify the maximum size of a row-based binary log event, in bytes.
# Rows are grouped into events smaller than this size if possible. The value should be a multiple of 256.
binlog_row_event_max_size=8K

# If the value of this variable is greater than 0, a replication slave synchronizes its master.info file to disk.
# (using fdatasync()) after every sync_master_info events.
sync_master_info=10000

# If the value of this variable is greater than 0, the MySQL server synchronizes its relay log to disk.
# (using fdatasync()) after every sync_relay_log writes to the relay log.
sync_relay_log=10000

# If the value of this variable is greater than 0, a replication slave synchronizes its relay-log.info file to disk.
# (using fdatasync()) after every sync_relay_log_info transactions.
sync_relay_log_info=10000

# Load mysql plugins at start."plugin_x ; plugin_y".
# plugin_load

# The TCP/IP Port the MySQL Server X Protocol will listen on.
# loose_mysqlx_port=33060

测试环境四: 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 计算机编号:dp-2019001 连接方式:TCP/IP连接 测试结果符合预期。 my.ini文件同下面测试环境三一致。


测试环境三: 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 计算机编号:dp-2019001 连接方式:TCP/IP连接 测试结果符合预期。 my.ini文件:


测试环境二: 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20, 计算机环境:windows 10 家庭中文版。 计算机编号:dp-bjb00202 连接方式:以TCP/IP连接方式创建实例正常,没有出现报错。符合预期。 my.ini文件与测试环境一一致:


测试环境一: 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20, 计算机环境:windows 10 家庭中文版。 计算机编号:dp-bjb00202 连接方式:以管道连接方式创建实例正常,没有出现报错。符合预期。 my.ini文件:

# Other default tuning values
# MySQL Server Instance Configuration File
# ----------------------------------------------------------------------
# Generated by the MySQL Server Instance Configuration Wizard
#
#
# Installation Instructions
# ----------------------------------------------------------------------
#
# On Linux you can copy this file to /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options
# (@localstatedir@ for this installation) or to
# ~/.my.cnf to set user-specific options.
#
# On Windows you should keep this file in the installation directory 
# of your server (e.g. C:\Program Files\MySQL\MySQL Server X.Y). To
# make sure the server reads the config file use the startup option 
# "--defaults-file". 
#
# To run the server from the command line, execute this in a 
# command line shell, e.g.
# mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# To install the server as a Windows service manually, execute this in a 
# command line shell, e.g.
# mysqld --install MySQLXY --defaults-file="C:\Program Files\MySQL\MySQL Server X.Y\my.ini"
#
# And then execute this in a command line shell to start the server, e.g.
# net start MySQLXY
#
#
# Guidelines for editing this file
# ----------------------------------------------------------------------
#
# In this file, you can use all long options that the program supports.
# If you want to know the options a program supports, start the program
# with the "--help" option.
#
# More detailed information about the individual options can also be
# found in the manual.
#
# For advice on how to change settings please see
# https://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
#
#
# 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

# Path to installation directory. All paths are usually resolved relative to this.
# basedir="C:/Program Files/MySQL/MySQL Server 8.0/"

# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 8.0/Data

# The default character set that will be used when a new schema or table is
# created and no character set is defined
# character-set-server=

# The default authentication plugin to be used when connecting to the server
default_authentication_plugin=mysql_native_password

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

# General and Slow logging.
log-output=FILE

general-log=0

general_log_file="LAPTOP-H5QST5AB.log"

slow-query-log=1

slow_query_log_file="LAPTOP-H5QST5AB-slow.log"

long_query_time=10

# Error Logging.
log-error="LAPTOP-H5QST5AB.err"

# ***** Group Replication Related *****
# Specifies the base name to use for binary log files. With binary logging
# enabled, the server logs all statements that change data to the binary
# log, which is used for backup and replication.
log-bin="LAPTOP-H5QST5AB-bin"

# ***** Group Replication Related *****
# Sets the binary logging format, and can be any one of STATEMENT, ROW,
# or MIXED. ROW is suggested for Group Replication.
# binlog_format

# ***** Group Replication Related *****
# Causes the master to write a checksum for each event in the binary log.
# binlog_checksum supports the values NONE (disabled) and CRC32.
# The default is CRC32. When disabled (value NONE), the server verifies
# that it is writing only complete events to the binary log by writing
# and checking the event length (rather than a checksum) for each event.
# NONE must be used with Group Replication.
# binlog_checksum

# ***** Group Replication Related *****
# The base name for the relay log. The server creates relay log files in
# sequence by adding a numeric suffix to the base name. If you specify this
# option, the value specified is also used as the base name for the relay log
# index file. Relay logs increase speed by using load-balancing between disks.
# relay_log

# ***** Group Replication Related *****
# Specifies the server ID. For servers that are used in a replication topology,
# you must specify a unique server ID for each replication server, in the
# range from 1 to 2^32 − 1. “Unique” means that each ID must be different
# from every other ID in use by any other replication master or slave.
server-id=1

# ***** Group Replication Related *****
# The host name or IP address of the slave to be reported to the master
# during slave registration. This value appears in the output of SHOW SLAVE HOSTS
# on the master server. Leave the value unset if you do not want the slave to
# register itself with the master.
# report_host=0.0

# ***** Group Replication Related *****
# The TCP/IP port number for connecting to the slave, to be reported to the master during
# slave registration. Set this only if the slave is listening on a nondefault port or if
# you have a special tunnel from the master or other clients to the slave.
report_port=3306

# ***** Group Replication Related *****
# This option specifies whether global transaction identifiers (GTIDs) are
# used to identify transactions. ON must be used with Group Replication.
# gtid_mode

# ***** Group Replication Related *****
# When enabled, the server enforces GTID consistency by allowing execution of
# only statements that can be safely logged using a GTID. You must set this
# option to ON before enabling GTID based replication.
# enforce_gtid_consistency

# ***** Group Replication Related *****
# Whether updates received by a slave server from a master server should be
# logged to the slave's own binary log. Binary logging must be enabled on
# the slave for this variable to have any effect. ON must be used with
# Group Replication.
# log_slave_updates

# ***** Group Replication Related *****
# Determines whether the slave server logs master status and connection information
# to an InnoDB table in the mysql database, or to a file in the data directory.
# The TABLE setting is required when multiple replication channels are configured.
# master_info_repository

# ***** Group Replication Related *****
# Determines whether the slave server logs its position in the relay logs to an InnoDB
# table in the mysql database, or to a file in the data directory. The TABLE setting is
# required when multiple replication channels are configured.
# relay_log_info_repository

# ***** Group Replication Related *****
# Defines the algorithm used to hash the writes extracted during a transaction. If you
# are using Group Replication, this variable must be set to XXHASH64 because the process
# of extracting the writes from a transaction is required for conflict detection on all
# group members.
# transaction_write_set_extraction

# NOTE: Modify this value after Server initialization won't take effect.
lower_case_table_names=1

# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 8.0/Uploads"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=151

# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_open_cache=2000

# Maximum size for internal (in-memory) temporary tables. If a table
# grows larger than this value, it is automatically converted to disk
# based table This limitation is for a single table. There can be many
# of them.
tmp_table_size=43M

# How many threads we should keep in a cache for reuse. When a client
# disconnects, the client's threads are put in the cache if there aren't
# more than thread_cache_size threads from before.  This greatly reduces
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
thread_cache_size=10

#*** MyISAM Specific options
# The maximum size of the temporary file MySQL is allowed to use while
# recreating the index (during REPAIR, ALTER TABLE or LOAD DATA INFILE.
# If the file-size would be bigger than this, the index will be created
# through the key cache (which is slower).
myisam_max_sort_file_size=100G

# The size of the buffer that is allocated when sorting MyISAM indexes
# during a REPAIR TABLE or when creating indexes with CREATE INDEX
# or ALTER TABLE.
myisam_sort_buffer_size=78M

# Size of the Key Buffer, used to cache index blocks for MyISAM tables.
# Do not set it larger than 30% of your available memory, as some memory
# is also required by the OS to cache rows. Even if you're not using
# MyISAM tables, you should still set it to 8-64M as it will also be
# used for internal temporary disk tables.
key_buffer_size=8M

# Size of the buffer used for doing full table scans of MyISAM tables.
# Allocated per thread, if a full scan is needed.
read_buffer_size=64K

read_rnd_buffer_size=256K

#*** INNODB Specific options ***
# innodb_data_home_dir=

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb

# If set to 1, InnoDB will flush (fsync) the transaction logs to the
# disk at each commit, which offers full ACID behavior. If you are
# willing to compromise this safety, and you are running small
# transactions, you may set this to 0 or 2 to reduce disk I/O to the
# logs. Value 0 means that the log is only written to the log file and
# the log file flushed to disk approximately once per second. Value 2
# means the log is written to the log file at each commit, but the log
# file is only flushed to disk approximately once per second.
innodb_flush_log_at_trx_commit=1

# The size of the buffer InnoDB uses for buffering log data. As soon as
# it is full, InnoDB will have to flush it to disk. As it is flushed
# once per second anyway, it does not make sense to have it very large
# (even with long transactions).
innodb_log_buffer_size=1M

# InnoDB, unlike MyISAM, uses a buffer pool to cache both indexes and
# row data. The bigger you set this the less disk I/O is needed to
# access data in tables. On a dedicated database server you may set this
# parameter up to 80% of the machine physical memory size. Do not set it
# too large, though, because competition of the physical memory may
# cause paging in the operating system.  Note that on 32bit systems you
# might be limited to 2-3.5G of user level memory per process, so do not
# set it too high.
innodb_buffer_pool_size=8M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=48M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=9

# The increment size (in MB) for extending the size of an auto-extend InnoDB system tablespace file when it becomes full.
innodb_autoextend_increment=64

# The number of regions that the InnoDB buffer pool is divided into.
# For systems with buffer pools in the multi-gigabyte range, dividing the buffer pool into separate instances can improve concurrency,
# by reducing contention as different threads read and write to cached pages.
innodb_buffer_pool_instances=8

# Determines the number of threads that can enter InnoDB concurrently.
innodb_concurrency_tickets=5000

# Specifies how long in milliseconds (ms) a block inserted into the old sublist must stay there after its first access before
# it can be moved to the new sublist.
innodb_old_blocks_time=1000

# It specifies the maximum number of .ibd files that MySQL can keep open at one time. The minimum value is 10.
innodb_open_files=300

# When this variable is enabled, InnoDB updates statistics during metadata statements.
innodb_stats_on_metadata=0

# When innodb_file_per_table is enabled (the default in 5.6.6 and higher), InnoDB stores the data and indexes for each newly created table
# in a separate .ibd file, rather than in the system tablespace.
innodb_file_per_table=1

# Use the following list of values: 0 for crc32, 1 for strict_crc32, 2 for innodb, 3 for strict_innodb, 4 for none, 5 for strict_none.
innodb_checksum_algorithm=0

# The number of outstanding connection requests MySQL can have.
# This option is useful when the main MySQL thread gets many connection requests in a very short time.
# It then takes some time (although very little) for the main thread to check the connection and start a new thread.
# The back_log value indicates how many requests can be stacked during this short time before MySQL momentarily
# stops answering new requests.
# You need to increase this only if you expect a large number of connections in a short period of time.
back_log=80

# If this is set to a nonzero value, all tables are closed every flush_time seconds to free up resources and
# synchronize unflushed data to disk.
# This option is best used only on systems with minimal resources.
flush_time=0

# The minimum size of the buffer that is used for plain index scans, range index scans, and joins that do not use
# indexes and thus perform full table scans.
join_buffer_size=256K

# The maximum size of one packet or any generated or intermediate string, or any parameter sent by the
# mysql_stmt_send_long_data() C API function.
max_allowed_packet=4M

# If more than this many successive connection requests from a host are interrupted without a successful connection,
# the server blocks that host from performing further connections.
max_connect_errors=100

# Changes the number of file descriptors available to mysqld.
# You should try increasing the value of this option if mysqld gives you the error "Too many open files".
open_files_limit=4161

# If you see many sort_merge_passes per second in SHOW GLOBAL STATUS output, you can consider increasing the
# sort_buffer_size value to speed up ORDER BY or GROUP BY operations that cannot be improved with query optimization
# or improved indexing.
sort_buffer_size=256K

# The number of table definitions (from .frm files) that can be stored in the definition cache.
# If you use a large number of tables, you can create a large table definition cache to speed up opening of tables.
# The table definition cache takes less space and does not use file descriptors, unlike the normal table cache.
# The minimum and default values are both 400.
table_definition_cache=1400

# Specify the maximum size of a row-based binary log event, in bytes.
# Rows are grouped into events smaller than this size if possible. The value should be a multiple of 256.
binlog_row_event_max_size=8K

# If the value of this variable is greater than 0, a replication slave synchronizes its master.info file to disk.
# (using fdatasync()) after every sync_master_info events.
sync_master_info=10000

# If the value of this variable is greater than 0, the MySQL server synchronizes its relay log to disk.
# (using fdatasync()) after every sync_relay_log writes to the relay log.
sync_relay_log=10000

# If the value of this variable is greater than 0, a replication slave synchronizes its relay-log.info file to disk.
# (using fdatasync()) after every sync_relay_log_info transactions.
sync_relay_log_info=10000

# Load mysql plugins at start."plugin_x ; plugin_y".
# plugin_load

# The TCP/IP Port the MySQL Server X Protocol will listen on.
# loose_mysqlx_port=33060
wuayang001 commented 3 years ago

测试用例 1.2

测试目的:

内务中创建单个书目信息,观察是否可以保存到数据库上

测试前提:

本地创建好新实例MySQL版本8.0.20,命名管道连接方式

测试步骤:(以MySQL版本8.0.20,命名管道连接方式为例)

  1. 打开内务,登录本地标准版服务器。
  2. 点击【常用窗口】-【种册窗】。在跳出的种册窗属性页中点击上方“T”字。
  3. 选择【中文图书】书库名,点击确定键。
  4. 模板选择【普通图书(无层次)】。点击右下角【确定】键
  5. 在出现的marc属性页中,200字段的题名上面增加字段:“测试”。
  6. 修改完成后,点击右下角【全部保存】,随后界面跳出绿色提示框显示:记录保存成功
  7. 点击上方目录【功能】-【系统维护】-【系统管理窗】,选中【内核】-【】-【databases.xml】
  8. 右击点击【编辑配置文件】。找到<caption lang="zh">中文图书</caption>字样,观察到对应的本地数据库为dp2kernel_test_dprms_1_db
  9. 访问dp2kernel_test_dprms_1_db数据库。进入“keys_title”表。观察到新增keystring:“测试”数据。数据成功写入符合预期。
访问数据库方法:
一、用命令窗口打开数据库
1.打开cmd,输入:MySQL -uroot -p1111。进入数据库。
2. 输入:show databases; 打开库目录。
3. 输入:use dp2kernel_test_dprms_1_db; 打开dp2kernel_test_dprms_1_db库。
4. 输入:select * from keys_title; 查找题名表中所有数据。

二、下载MySQL前端:
1. 在MySQL installer中下载MySQL workbench。(对应版本号)。
2. 下载完成后,点击:`local instance MySQL80`,输入密码进入数据库
3. 左侧SCHEMS属性页中,点击`dp2kernel_test_dprms_1_db`前面的小三角,
4. 在打开的菜单选项中点击`tables`前面的小三角。
5. 右击`keys_title`选中`select rows -limit 1000`

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期

wuayang001 commented 3 years ago

测试用例 1.3

测试目的:

内务中创建单个册信息,观察是否可以保存到数据库上

测试前提:

本地创建好新实例MySQL版本8.0.20,命名管道连接方式

测试步骤:(以MySQL版本8.0.20,命名管道连接方式为例)

  1. 打开内务,登录本地标准版服务器。
  2. 点击【书目查询窗】,检索出刚创建的test的书目信息。
  3. 在下方册属性页中写入册条码号:test001随后点击右边【登记】按钮。
  4. 界面跳出“新增册”属性页。
  5. 填写馆藏地点:“流通库”,册类型选择:“普通”。点击右下角确定键。
  6. 点击右下角【全部保存】按键。随后界面跳出绿色提示框显示:记录保存成功。
  7. 点击上方目录【功能】-【系统维护】-【系统管理窗】,选中【内核】-【】-【databases.xml】
  8. 右击点击【编辑配置文件】。找到<caption lang="zh">中文图书实体</caption>字样,观察到对应的本地数据库为dp2kernel_test_dprms_2_db
  9. 访问dp2kernel_test_dprms_2_db数据库。进入“keys_location”表。观察到新增keystring:“流通库”数据。数据成功写入符合预期。

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期

wuayang001 commented 3 years ago

测试用例 1.4

测试目的:

内务中创建单个读者信息,观察是否可以保存到数据库上

测试步骤:

  1. 打开内务,登录本地标准版服务器。
  2. 点击菜单事项中的【常用窗口】-【读者窗】
  3. 写入证条码号:10011001,读者类别选择:本科生,姓名:wuyang。点击右下角保存。
  4. 再跳出的读者类别属性窗中选择:读者,点击确定。
  5. 点击上方目录【功能】-【系统维护】-【系统管理窗】,选中【内核】-【】-【databases.xml】
  6. 右击点击【编辑配置文件】。找到中文图书实体字样,观察到对应的本地数据库为dp2kernel_test_dprms_19_db。
  7. 访问dp2kernel_test_dprms_19_db数据库。进入“keys_barcode”表。观察到新增keystring:“10011001”数据。数据成功写入符合预期。

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期

wuayang001 commented 3 years ago

测试用例 1.5-1.6

测试目的:

批量导入marc文件观察是否完整 批量导入marc、bdf 文件观察是否完整

测试步骤:

  1. 打开内务,登录本地标准版服务器。
  2. 进入书目查询窗,点击第一个书目信息;
  3. 右击点击【导出】-【导出到marc文件】
  4. 填写文件名为“test”文件位置在桌面。编码方式为:UTF-8,其他设置为默认值。
  5. 点击右下角确定。在跳出出的选择997属性页中,不勾选任何选项,点击确认。等待导出完成。
  6. 点击上方菜单事项中【批处理】-【从marc文件导入】
  7. 选中桌面上ISO文件,marc格式选择:UNIMARC。编码方式选择:UTF-8。(保证数据不乱码就行,也可以选择其他格式)
  8. 点击右下角下一步,目标库选择:中文图书。点击下一步。等待导入完成。
  9. 进入数目查询窗,点击右边放大镜标志。检索出刚导入的书目信息。符合预期
  10. 点击上方目录【功能】-【系统维护】-【系统管理窗】,选中【内核】-【】-【databases.xml】
  11. 右击点击【编辑配置文件】。找到中文图书实体字样,观察到对应的本地数据库为dp2kernel_test_dprms_19_db。
  12. 访问dp2kernel_test_dprms_19_db数据库。进入“keys_barcode”表。观察到新增keystring:“10011001”数据。数据成功写入符合预期。

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期,导入导出成功。

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期


测试目的:

批量导入bdf文件观察是否完整

测试步骤:

  1. 打开内务,登录本地标准版服务器。
  2. 进入书目查询窗,点击第一个书目信息;
  3. 右击点击【导出】-【导出书目转储(.bdf)文件】
  4. 填写文件名为“test”文件位置在桌面。其他设置为默认值。
  5. 点击右下角确定。等待导出完成。
  6. 点击上方菜单事项中【批处理】-【从书目转储(.bdf)文件导入】
  7. 在源文件属性页中选中bdf文件,点击右下角【下一步】,转换属性页为默认值,点击下一步。
  8. 点击右下角下一步,目标库选择:中文图书。点击下一步。等待导入完成。
  9. 进入数目查询窗,点击右边放大镜标志。观察到新增一条书目数据。符合预期
  10. 点击上方目录【功能】-【系统维护】-【系统管理窗】,选中【内核】-【】-【databases.xml】
  11. 右击点击【编辑配置文件】。找到中文图书实体字样,观察到对应的本地数据库为dp2kernel_test_dprms_1_db。
  12. 访问dp2kernel_test_dprms_1_db数据库。进入“keys_title”表。观察到新增keystring:“珍惜植物世界”数据。数据成功写入符合预期。

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期,导入导出成功

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期

wuayang001 commented 3 years ago

测试用例 1.7-1.8

测试目的:

1.7 测试是否可以大备份本地库数据 1.8 测试从大备份中恢复数据是否完整(主要去数据库查看书目信息,册信息,读者信息)

测试步骤:

  1. 打开内务,登录本地标准版服务器。
  2. 上方菜单事项中选中【功能】-【系统维护】-【批处理任务窗】
  3. 任务名选择:大备份。点击开始。界面跳出“启动大备份任务”属性页。
  4. 备份文件名在下拉菜单中选择:“bendi _2021-06-11_14_56_28.dp2bak”。勾选下方“同时启动下载文件”点击确定,将文件保存到桌面。
  5. 文件开始进行备份。等待备份完成后,回到计算机界面打开保存的文件夹。
  6. 观察到本地有两个文件:“.zip”,“.dp2bak”
  7. 打开dp2installer的 本地实例。右击选中“从大备份中恢复”
  8. 选中刚导出的文件。点击确定。输入密码。点击开始。等待恢复完成
  9. 恢复完成后,打开内务,登录刚备份的实例。
  10. 打开读者窗,观察到里面有一条读者记录,与源文件信息一致
  11. 打开数目窗,观察到里面有23条书目记录,与源文件信息一致
  12. 打开实体窗,观察到里面有两条册记录,与源文件信息一致

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期。备份、从大备份恢复都以完成。

测试环境2 20210615-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20,计算机环境:win10 家庭版,连接方式:TCP/IP连接 测试结果符合预期。

测试环境3 20210612-wy:dp2kernel版本:3.4.7830.25123,dp2library版本:3.53.7830.25127,数据库版本:8.0.20, 计算机环境:windows server 2008 R2 Enterprise, 连接方式:TCP/IP连接 测试结果符合预期。

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期

wuayang001 commented 3 years ago

测试用例 1.9-1.10

测试目的:

1.9 dp2batch连接dp2kernel后,测试是否可以导入数据 1.10 dp2batch连接dp2kernel后,测试是否可以导出数据

测试步骤:

  1. 打开dp2batch。在右边属性页中右击点击【新增服务器】。
  2. 填写服务器地址为:本地标准版服务器:net.pipe://localhost/dp2kernel/t1/
  3. 新增后点击左侧“+”号标志。勾选【中文图书】点击中文图书下面所有选项。
  4. 右击点击【导出数据】,在跳出的导出数据属性页中。输出记录范围选举全部。编码方式选择:UTF-8。
  5. 点击右下角【确定】。文件保存在桌面。
  6. 导出成功后,界面跳出提示信息:数据库 'net.pipe://localhost/dp2kernel/test/?中文图书' 内共有记录 21 条,本次导出 21 条。总共耗费时间: 00:00:00.3720025
  7. dpsinstaller中新创建一个实例命名“test2”.打开dp2batch.
  8. 选择属性页中最右侧【导入】文件名选择:本地保存的.bak文件 9库名映射规则选择:源:net.pipe://localhost/dp2kernel/test/?中文图书,目标:net.pipe://localhost/dp2kernel/test2/?中文图书.点击右下角确定键。
  9. 设置好之后,点击左上方“√”。软件开始执行导入操作。
  10. 等待导入完成后,打开内务,登录实例2.
  11. 进入数目查询窗。检索”中文图书“。
  12. 观察到检索出的数据信息与实例1“test”一致。符合预期

测试结果:

2021/07/01-wzt: dp2Installer 版本: 3.3.1.0 kernel (3.4.7849.32014) library (3.53.7849.32018) 数据库版本:8.0.22 计算机环境:windows 10 家庭中文版 连接方式:Pipe管道连接 测试结果符合预期,导入、导出数据成功

测试环境1 20210610-wy:dp2installer正式版版本:3.3.1.0 数据库版本:8.0.20,以管道连接方式。 计算机环境:win10 家庭版, 单个创建书目信息正常,符合预期