KingbaseES数据库备份初始化错误处理
KingbaseES使用sys_backup.sh脚本init初始化配置文件常见错误处理:
sys_backup.sh脚本按照如下顺序寻找初始化配置文件:
[kingbase@postgres ~]$ sh -x sys_backup.sh init
+++ readlink -f sys_backup.sh
++ dirname /home/kingbase/sys_backup.sh
+ script_locate_folder=/home/kingbase
+ '[' '!' -f /home/kingbase/sys_backup.conf ']'
+ '[' '!' -f /home/kingbase/../share/sys_backup.conf ']'
+ /bin/echo 'ERROR: sys_backup.conf does not exist'
ERROR: sys_backup.conf does not exist
+ exit 1
使用sh -x可以看到,sys_backup.sh第一步先在执行命令当前目录查找sys_backup.conf配置文件,然后再去查找sys_backup.conf文件.
优先使用的也是当前目录的sys_backup.conf配置文件
[kingbase@postgres share]$ ls -l /home/kingbase/
总用量 2343320
-rw-rw-r-- 1 kingbase kingbase 529 1月 10 15:28 ltrace.out
-rw-rw-r-- 1 kingbase kingbase 252 12月 6 16:48 my_test.c
-rw-rw-r-- 1 kingbase kingbase 10403 12月 13 18:21 nohup.out
drwx------ 23 kingbase kingbase 4096 1月 19 13:38 ora_data
-rw-rw-r-- 1 kingbase kingbase 2201 1月 10 15:26 strace.out
-rw------- 1 kingbase kingbase 8192 11月 10 19:05 sys_control
-rw-rw-r-- 1 kingbase kingbase 774611 12月 13 18:14 sys_menu.sql
drwxrwxr-x 3 kingbase kingbase 16 11月 10 01:12 V8R6C6B21
[kingbase@postgres share]$ pwd
/home/kingbase/V8R6C6B21/ES/V8/Server/share
[kingbase@postgres share]$ ls -l sys_backup.conf
-rw-rw-r-- 1 kingbase kingbase 1957 1月 16 18:32 sys_backup.conf
[kingbase@postgres share]$
关于sys_backup.conf配置文件:
参数名 | 参数说明 |
---|---|
_target_db_style | 选择性选项,可选single或cluster或single-pro。 single对应单机模式的目标数据库实例,cluster对应集群模式的目标数据库实例,single-pro对应集群模式的每个DB节点独立备份 |
_one_db_ip | 一个数据库节点的IP或主机名,支持主机名、IPv4、IPv6地址 |
_repo_ip | REPO备份节点的IP或主机名,支持主机名、IPv4、IPv6地址 |
_stanza_name | 备份服务器的标签,仅在物理备份范畴内使用 |
_os_user_name | 操作系统的用户名 |
_repo_path | 实际保存备份集的目录 |
_repo_retention_full_count | 保存全量备份的数目,超过此数目的全量备份将被自动移除 |
_crond_full_days | 自动执行全量备份的间隔天数,0表示不执行 |
_crond_diff_days | 自动执行差异备份的间隔天数,0表示不执行 |
_crond_incr_days | 自动执行增量备份的间隔天数,0表示不执行 |
_crond_full_hour | 自动执行全量备份的时间点,2表示凌晨2点 |
_crond_diff_hour | 自动执行差异备份的时间点,3表示凌晨3点 |
_crond_incr_hour | 自动执行增量备份的时间点,4表示凌晨4点 |
_band_width | 网络限速,单位固定为 MB/s, 默认为0,代表不限速,配置文件仅接受纯数字 |
_os_ip_cmd | 操作系统常见命令ip的全路径文件名 |
_os_rm_cmd | 操作系统常见命令rm的全路径文件名 |
_os_sed_cmd | 操作系统常见命令sed的全路径文件名 |
_os_grep_cmd | 操作系统常见命令grep的全路径文件名 |
_single_data_dir | 单机数据库节点的数据目录 |
_single_bin_dir | 单机数据库节点的二进制目录 |
_single_db_user | 单机数据库节点的数据库登录用户名 |
_single_db_port | 单机数据库节点的端口 |
_use_scmd | 使用通讯协议,默认使用securecmdd,可选使用ssh |
_start_fast | 是否快速启动备份,立即生成checkpoint,默认y |
_compress_type | 是否在备份时使用压缩存储,默认为none不压缩 |
_non_archived_space | 在init过程中,检查未归档的WAL的容量,如果超过设置值,报错并退出init过程。单位固定为MB,可选 128 ~ 1024 |
# 示例sys_backup.conf配置文件
_target_db_style="single"
_one_db_ip="192.168.57.10" # 需要进行备份的数据库节点IP地址.
_repo_ip="192.168.57.10" # 备份文件存放的IP地址.可以为异机.
_stanza_name="kingbase" # 物理备份的标签.
_os_user_name="kingbase" # 安装数据库系统用户名.
_repo_path="/home/kingbase/kbbr_repo" # 备份存放路径.
_repo_retention_full_count=5 # 保留的全备数.默认为5.保留最近时间的5个全备.
_crond_full_days=7 # 执行全备备份的间隔天数,0表示不执行
_crond_diff_days=0 # 执行差异备份的间隔天数,0表示不执行
_crond_incr_days=1 # 执行增量备份的间隔天数,0表示不执行
_crond_full_hour=2 # 执行全量备份的时间点,2表示凌晨2点执行.
_crond_diff_hour=3 # 执行差异备份的时间点,3表示凌晨3点执行.
_crond_incr_hour=4 # 执行增量备份的时间点,4表示凌晨4点执行.
_band_width=0
_os_ip_cmd="/sbin/ip"
_os_rm_cmd="/bin/rm"
_os_sed_cmd="/bin/sed"
_os_grep_cmd="/bin/grep"
_single_data_dir="/home/kingbase/ora_data"
_single_bin_dir="/home/kingbase/V8R6C6B21/ES/V8/Server/bin"
_single_db_user="system"
_single_db_port="54321"
_use_scmd=off
_start_fast=y
_compress_type=none
_non_archived_space=1024
执行sys_backup.sh init 初始化配置文件:
场景1: ERROR: [087]: archive_mode must be enabled
未配置 archive_mode=of、archive_command='' 参数
[kingbase@postgres ~]$ sys_backup.sh init
# pre-condition: check the non-archived WAL files
The authenticity of host '192.168.57.10 (192.168.57.10)' can't be established.
ECDSA key fingerprint is SHA256:jbiSTLyWOSvk9P6Rrum0V/H5PE52Fz48bO69ttVGvjU.
ECDSA key fingerprint is MD5:87:25:68:6f:0d:d4:b3:30:33:f1:2c:94:26:f3:5f:be.
Are you sure you want to continue connecting (yes/no)? yes
root@192.168.57.10's password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
ERROR: check stanza failed, check log file /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_check.log
[kingbase@postgres ~]$ cat /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_check.log
2023-01-19 16:01:57.397 P00 INFO: check command begin 2.27: --archive-timeout=600 --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=17446-c4a40c02 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
ERROR: [087]: archive_mode must be enabled
2023-01-19 16:02:09.841 P00 INFO: check command end: aborted with exception [087]
解决方法:
# 在kingbase.conf文件配置
archive_mode=on
archive_command=''
场景2: ERROR: Configured repo-path [/home/kingbase/kbbr_repo] already exists
解决方法:
_repo_path=/home/kingbase/kbbr_repo 目录已经存在.
1.修改 _repo_path=='新的目录'
2.删除已存在的目录 _repo_path='/home/kingbase/kbbr_repo' 重新初始化.
场景3: HINT: the kb1-path and kb1-port settings likely reference different clusters.
[kingbase@postgres ~]$ sys_backup.sh init
# pre-condition: check the non-archived WAL files
root@192.168.57.10's password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
ERROR: create stanza failed, check log file /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_stanza-create.log
[kingbase@postgres ~]$ cat /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_stanza-create.log
2023-01-19 16:01:48.647 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=17435-9cf03a4d --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2023-01-19 16:01:57.158 P00 INFO: stanza-create for stanza 'kingbase' on repo1
2023-01-19 16:01:57.351 P00 INFO: stanza-create command end: completed successfully (8751ms)
2023-01-19 16:15:19.487 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=18215-51df97d6 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2023-01-19 16:15:30.568 P00 INFO: stanza-create for stanza 'kingbase' on repo1
2023-01-19 16:15:31.069 P00 INFO: stanza-create command end: completed successfully (11587ms)
2023-01-19 16:24:43.158 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=18872-d06fff97 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2023-01-19 16:24:43.599 P00 INFO: stanza-create for stanza 'kingbase' on repo1
2023-01-19 16:24:43.703 P00 INFO: stanza-create command end: completed successfully (602ms)
2023-01-19 16:38:40.530 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=19774-3cfc3082 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2023-01-19 16:38:52.681 P00 INFO: stanza-create for stanza 'kingbase' on repo1
2023-01-19 16:38:53.040 P00 INFO: stanza-create command end: completed successfully (12555ms)
2023-01-19 16:42:55.417 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=20238-e619c305 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
2023-01-19 16:43:00.698 P00 INFO: stanza-create for stanza 'kingbase' on repo1
2023-01-19 16:43:00.841 P00 INFO: stanza-create command end: completed successfully (5430ms)
2023-01-19 16:51:57.076 P00 INFO: stanza-create command begin 2.27: --band-width=0 --config=/home/kingbase/kbbr_repo/sys_rman.conf --exec-id=20987-a35b7df2 --log-level-console=info --log-level-file=info --log-path=/home/kingbase/V8R6C6B21/ES/V8/Server/log --log-subprocess --kb1-path=/home/kingbase/ora_data --kb1-port=54321 --kb1-user=system --process-max=4 --repo1-path=/home/kingbase/kbbr_repo --stanza=kingbase
ERROR: [058]: version '12' and path '/home/kingbase/./ora_data' queried from cluster do not match version '12' and '/home/kingbase/ora_data' read from '/home/kingbase/ora_data/global/sys_control'
HINT: the kb1-path and kb1-port settings likely reference different clusters.
2023-01-19 16:52:11.082 P00 INFO: stanza-create command end: aborted with exception [058]
解决方法:
由于数据库使用相对路径启动,改为使用绝对路径启动数据库.
[kingbase@postgres ~]$ ps -ef|grep kingbase| grep -v grep
root 10486 10288 0 13:38 pts/0 00:00:00 su - kingbase
kingbase 10487 10486 0 13:38 pts/0 00:00:01 -bash
root 15073 10325 0 15:30 pts/2 00:00:00 su - kingbase
kingbase 15074 15073 0 15:30 pts/2 00:00:00 -bash
kingbase 18637 1 0 16:24 ? 00:00:00 /home/kingbase/V8R6C6B21/ES/V8/KESRealPro/V008R006C006B0021/Server/bin/kingbase -D ora_data
kingbase 18638 18637 0 16:24 ? 00:00:00 kingbase: logger
kingbase 18641 18637 0 16:24 ? 00:00:00 kingbase: checkpointer
kingbase 18642 18637 0 16:24 ? 00:00:02 kingbase: background writer
kingbase 18643 18637 0 16:24 ? 00:00:00 kingbase: walwriter
kingbase 18644 18637 0 16:24 ? 00:00:00 kingbase: autovacuum launcher
kingbase 18645 18637 0 16:24 ? 00:00:00 kingbase: archiver last was 0000000100000000000000E8.00000028.backup
kingbase 18646 18637 0 16:24 ? 00:00:00 kingbase: stats collector
kingbase 18647 18637 0 16:24 ? 00:00:00 kingbase: ksh writer
kingbase 18648 18637 0 16:24 ? 00:00:02 kingbase: ksh collector
kingbase 18649 18637 0 16:24 ? 00:00:00 kingbase: kwr collector
kingbase 18650 18637 0 16:24 ? 00:00:00 kingbase: job bgworker
kingbase 18651 18637 0 16:24 ? 00:00:00 kingbase: logical replication launcher
kingbase 19322 10487 0 16:34 pts/0 00:00:00 ps -ef
[kingbase@postgres ~]$
# 使用绝对路径启动数据库
[kingbase@postgres ~]$ sys_ctl -D /home/kingbase/ora_data/ start
waiting for server to start....2023-01-19 16:35:00.108 CST [19369] LOG: sepapower extension initialized
2023-01-19 16:35:00.253 CST [19369] LOG: starting KingbaseES V008R006C006B0021 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit
2023-01-19 16:35:00.254 CST [19369] LOG: listening on IPv4 address "0.0.0.0", port 54321
2023-01-19 16:35:00.254 CST [19369] LOG: listening on IPv6 address "::", port 54321
2023-01-19 16:35:00.263 CST [19369] LOG: listening on Unix socket "/tmp/.s.KINGBASE.54321"
2023-01-19 16:35:00.511 CST [19369] LOG: redirecting log output to logging collector process
2023-01-19 16:35:00.511 CST [19369] HINT: Future log output will appear in directory "sys_log".
done
server started
[kingbase@postgres ~]$ ps -ef|grep kingbase| grep -v grep
root 10486 10288 0 13:38 pts/0 00:00:00 su - kingbase
kingbase 10487 10486 0 13:38 pts/0 00:00:01 -bash
root 15073 10325 0 15:30 pts/2 00:00:00 su - kingbase
kingbase 15074 15073 0 15:30 pts/2 00:00:00 -bash
kingbase 19369 1 11 16:34 ? 00:00:00 /home/kingbase/V8R6C6B21/ES/V8/KESRealPro/V008R006C006B0021/Server/bin/kingbase -D /home/kingbase/ora_data
kingbase 19370 19369 0 16:34 ? 00:00:00 kingbase: logger
kingbase 19373 19369 0 16:34 ? 00:00:00 kingbase: checkpointer
kingbase 19374 19369 0 16:34 ? 00:00:00 kingbase: background writer
kingbase 19375 19369 0 16:34 ? 00:00:00 kingbase: walwriter
kingbase 19376 19369 0 16:34 ? 00:00:00 kingbase: autovacuum launcher
kingbase 19377 19369 0 16:34 ? 00:00:00 kingbase: archiver
kingbase 19378 19369 0 16:34 ? 00:00:00 kingbase: stats collector
kingbase 19379 19369 0 16:34 ? 00:00:00 kingbase: ksh writer
kingbase 19380 19369 0 16:34 ? 00:00:00 kingbase: ksh collector
kingbase 19381 19369 0 16:34 ? 00:00:00 kingbase: kwr collector
kingbase 19382 19369 1 16:34 ? 00:00:00 kingbase: job bgworker
kingbase 19383 19369 0 16:34 ? 00:00:00 kingbase: logical replication launcher
kingbase 19389 10487 0 16:35 pts/0 00:00:00 ps -ef
# 再次执行init 初始化成功
[kingbase@postgres ~]$ sys_backup.sh init
# pre-condition: check the non-archived WAL files
root@192.168.57.10's password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
'sys_backup.sh start' should be executed when need back-rest feature.
场景4: ERROR: can not access the host /tmp/sys_rman by root
[kingbase@postgres ~]$ sys_backup.sh init
# pre-condition: check the non-archived WAL files
ERROR: can not access the 192.168.57.10 /tmp/sys_rman by root
解决方法: 修改sshd_config 文件参数 PermitRootLogin yes,重启sshd服务.
# 查看 sshd_config 文件 PermitRootLogin 参数
[root@postgres ~]# cat /etc/ssh/sshd_config | grep PermitRootLogin
PermitRootLogin no
# the setting of "PermitRootLogin without-password".
# 更改 sshd_config 文件 PermitRootLogin yes
# 重启sshd服务 systemctl restart sshd.service
在次执行 sys_backup.sh init 成功
[kingbase@postgres ~]$ sys_backup.sh init
# pre-condition: check the non-archived WAL files
root@192.168.57.10's password:
# generate single sys_rman.conf...DONE
# update single archive_command with sys_rman.archive-push...DONE
# create stanza and check...(maybe 60+ seconds)
# create stanza and check...DONE
# initial first full backup...(maybe several minutes)
# initial first full backup...DONE
# Initial sys_rman OK.
'sys_backup.sh start' should be executed when need back-rest feature.
[kingbase@postgres ~]$ sys_backup.sh start
# pre-condition: check the non-archived WAL files
Enable some sys_rman in crontab-daemon
0 2 */7 * * kingbase /home/kingbase/V8R6C6B21/ES/V8/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup >> /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_backup_full.log 2>&1
0 4 */1 * * kingbase /home/kingbase/V8R6C6B21/ES/V8/Server/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=incr backup >> /home/kingbase/V8R6C6B21/ES/V8/Server/log/sys_rman_backup_incr.log 2>&1
[kingbase@postgres ~]$
除以上常见错误外,如果遇到新的错误,可以使用sh -x 执行脚本,输出详细过程,便于定位解决问题.
例子:
+ ssh -t -o ConnectTimeout=30 -o PreferredAuthentications=prohibit-password root@192.168.57.10 'ssh root@192.168.57.10 date>/dev/null 2>/dev/null'
+ _remote2local_rt=255
+ ssh -n -o ConnectTimeout=30 -o StrictHostKeyChecking=no -o PreferredAuthentications=prohibit-password -- root@192.168.57.10 mkdir /tmp/sys_rman/
+ ssh -n -o ConnectTimeout=30 -o StrictHostKeyChecking=no -o PreferredAuthentications=prohibit-password -- root@192.168.57.10 touch /tmp/sys_rman/_t-E_s_t
通过输出信息PreferredAuthentications=prohibit-password结合sshd_config文件PermitRootLogin参数就可以定位问题原因.
关于sshd_config文件PermitRootLogin参数:
注意:不同的操作系统sshd_config文件PermitRootLogin参数默认值均不相同.
参数类别 | 是否允许ssh登陆 | 登录方式 | 交互shell |
---|---|---|---|
yes | 允许 | 没有限制 | 没有限制 |
without-password | 允许 | 除密码以外 | 没有限制 |
forced-commands-only | 允许 | 仅允许使用密钥 | 仅允许已授权的命令 |
no | 不允许 | N/A | N/A |
prohibit-password | 不允许 | 不允许密码登录 | 允许免密 |
KingbaseES数据库备份初始化错误处理的更多相关文章
- PL/SQL Developer跑在Oracle 64位数据库上初始化错误
安装完Oracle(64位).PL/SQL Developer后执行PL/SQL出现例如以下的错误: 网上查资料说,我的PL/SQL Developer与ORACLE不兼容,即PL/SQL不支持64位 ...
- KingbaseES V8R6备份恢复案例之--删除test数据库后sys_backup.sh备份
案例说明: KingbaseES V8R6通过sys_backup.sh执行物理备份,默认sys_backup.sh执行备份初始化时,需要连接test数据库进行身份的认证:在一些生产环境为了安全需求, ...
- Sql Server 备份还原失败错误ERROR:3145(备份集中的数据库备份与现有的数据库不同)及解决办法
SQL Server备份文件bak,备份后还原出现错误3145,备份集中的数据库备份与现有的 'xxx' 数据库不同. 解决办法如下: 1,新建一个与现有数据库重名的数据库. 如果您不知道数据库名称, ...
- 执行查询“BACKUP LOG [XXX] TO DISK = N'F:\\BackData\\事务日至备份\\...”失败,错误如下:“无法执行 BACKUP LOG,因为当前没有数据库备份。 BACKUP LOG 正在异常终止。
执行查询"BACKUP LOG [XXX] TO DISK = N'F:\\BackData\\事务日至备份\\..."失败,错误如下:"无法执行 BACKUP LOG ...
- 错误界面 SQL2008备份集中的数据库备份与现有的数据库不同,错误号码:3154。
转载来源 https://blog.csdn.net/zaocha321/article/details/8466735 因为我也用这个方法成功了.所以记录下来 错误界面 SQL2005备份集中的数 ...
- backup1:开始数据库备份
数据库备份分为数据文件备份和日志文件备份,数据文件的备份分为:完整备份和差异备份.在SQL Server 2012中,能够将数据分布式备份到不同的存储设备上,一般情况,只将数据备份到一个备份文件(.b ...
- SQL SERVER 数据库备份的三种策略及语句
1.全量数据备份 备份整个数据库,恢复时恢复所有.优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用.在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋 ...
- mysql 数据库备份ubuntu
安装 1 sudo apt-get update 2. sudo apt-get install mysql-server 3 sudo apt-get install mysql-client 4 ...
- 阿里云mysql数据库备份还原
1.下载备份包 在rds的备份恢复中点击下载,在弹出的窗口中复制内网下载地址(前提是目标服务器与rds内网互通,否则请复制外网地址) 在目标服务器中执行如下命令进行下载: wget -c '复制的地址 ...
- SQLSERVER数据库备份操作和还原操作做了什么
SQLSERVER数据库备份操作和还原操作做了什么 看了这篇文章:还原/备份时做了些什么 自己也测试了一下,下面说的错误日志指的是SQLSERVER ERRORLOG 一般在C:\Program Fi ...
随机推荐
- 万字详解JVM,让你一文吃透
摘要:本文将带大家详细地了解关于JVM的一些知识点. 本文分享自华为云社区<[JVM]关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列>,作者: 冰 河 . JDK 是什么? JDK ...
- Atcoder beginner contest 249 C-Just K(二进制枚举)
题目大意:给你N个字符串,你可以从中选择任意数量的字符串,请统计在你的字串中,相同字母出现次数正好为K次的字母数.数据保证出现的字母都是小写字母. 1≤N≤15 1 ≤K≤N 一开始读题的时候读错了, ...
- 第2-1-4章 SpringBoot整合FastDFS文件存储服务
目录 5 SpringBoot整合 5.1 操作步骤 5.2 项目依赖 5.3 客户端开发 5.3.1 FastDFS配置 5.3.2 FastDFS配置类 5.3.3 文件工具类 5.3.4 文件上 ...
- HMM算法python实现
基础介绍,后5项为基础5元素 Q = ['q0', 'q1', 'q2', 'q3'] # 状态集合 States,共 N 种状态 V = ['v0', 'v1'] # 观测集合 Observatio ...
- C#使用附加到进程调试
微软官网的调试进程介绍 首先运行bin下的可执行文件,然后打开源代码,选择调试--->附加到进程.
- C#多线程之同步基础篇
目录 一.基本概念 二.锁构造 Monitor Mutex 死锁 三.信号构造 Semaphore ManualResetEvent AutoResetEvent CountdownEvent 四.等 ...
- 造个Python轮子,实现根据Excel生成Model和数据导入脚本
前言 最近遇到一个需求,有几十个Excel,每个的字段都不一样,然后都差不多是第一行是表头,后面几千上万的数据,需要把这些Excel中的数据全都加入某个已经上线的Django项目 这就需要每个Exce ...
- Go语言书籍推荐
附录: 其他书籍的介绍:https://github.com/golang/go/wiki/Books Go程序设计语言 (圣经) 作者 艾伦 A.A.多诺万 Kernighan 下载地址 中文版PD ...
- mysql管理工具mysqladmin的使用
1. 初始化密码 mysqladmin -uroot -p'password' password 'new-password' [root@controller3 ~]# yum -y install ...
- MongoDB - 事务支持
事务简介 事务是数据库中处理的逻辑单元,每个事务中包括一个或多个数据库操作,既可以是读操作,也可以是写操作. ACID 是一个"真正"事务所需要具备的一组属性集合,指的是原子性(A ...