MySQL Utilities工具教程
一、MySQL Utilities介绍
MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括:
管理工具 (克隆、复制、比较、差异、导出、导入)
复制工具 (安装、配置)
一般工具 (磁盘使用情况、冗余索引、搜索元数据)
MySQL Utilities是一系列的命令行工具以及Python库更容易完成管理的任务。库是用Python语言写的,这就意味着不需要安装其他任何工具和库。当前是基于Python2.6版本设计的,不支持Python3.1版本。
二、下载安装
2.1 下载地址
https://downloads.mysql.com/archives/utilities/
2.2 安装mysql utilities
shell> tar -xvzf mysql-utilities-1.6.5.tar.gz
shell> cd mysql-utilities-1.6.5
shell> python ./setup.py build
shell> python ./setup.py install
三、工具使用
#下面为自测使用的参数,详细参数请查看--help
Binary Log Operations(二进制日志操作)
mysqlbinlogmove 二进制日志移动
mysqlbinlogpurge 二进制日志清理
mysqlbinlogrotate 二进制日志老化工具
Database Operations(数据库操作)
mysqldbexport 数据导出
mysqldbimport 数据导入
mysqldbcopy 库级别数据库复制
mysqldiff 数据库对象级别比较工具
mysqldbcompare 数据库库级别比较工具
General Operations(通用用的操作)
mysqldiskusage 磁盘空间查看
mysqlfrm 恢复故障表.frm文件
mysqluserclone 用户克隆工具
mysqluc Utilities帮助工具
mysqlindexcheck 索引检测工具
mysqlmetagrep 元数据过滤器
mysqlprocgrep 进程搜索及清理工具
High Availability Operations(高可用)
mysqlreplicate 主从复制工具
mysqlrpladmin 主从复制管理工具
mysqlrplcheck 主从复制检测工具
mysqlrplms 主从多元复制工具
mysqlrplshow 主从复制拓扑图工具
mysqlrplsync 主从复制同步工具
mysqlfailover 主从failover工具
mysqlslavetrx 从库事务跳过工具
Server Operations(服务器操作)
mysqlserverinfo 服务器信息查看工具
mysqlserverclone 服务器克隆工具
Specialized Operations(特殊操作)
mysqlauditadmin 审计管理工具
mysqlauditgrep 审计日志过滤工具
本次只分享自己在实际使用中用到的工具!
3.1 mysqldbcopy 数据库复制工具使用
mysqldbcopy --source=root:mysql@127.0.0.1:3306 --destination=root:mysql@127.0.0.1:3306 tt:t1
#--source 源端数据库
#--destination 目标端数据库
#root:mysql@127.0.0.1:3306 数据库用户名:密码@ip地址:端口
#tt:t1 tt源端数据库名字:目标端数据库名字(目标端数据不用提前创建,执行命令时自动创建)
3.2 mysqlrplshow查看主从结构
my.cnf参数需要配置如下参数:
report_host=192.168.253.146
report_port=3306
[root@localhost ~]# mysqlrplshow --master=failover:pass@'192.168.253.146':3306 --discover-slaves-login=failover:pass --verbose
WARNING: Using a password on the command line interface can be insecure.
# master on 192.168.253.146: ... connected.
# Finding slaves for master: 192.168.253.146:3306
# Replication Topology Graph
192.168.253.146:3306 (MASTER)
|
+--- 192.168.253.130:3306 [IO: Yes, SQL: Yes] - (SLAVE)
#--master=failover:pass@'192.168.253.146':3306 主库用户名密码
#--discover-slaves-login=failover:pass 为从库复制账号和密码
3.3 非守护进程方式启动mysqlfailover查看主从
[root@localhost ~]# mysqlfailover --master=failover:pass@'192.168.253.146':3306 --discover-slaves-login=failover:pass
WARNING: Using a password on the command line interface can be insecure.
# Discovering slaves for master at 192.168.253.146:3306
# Discovering slave at 192.168.253.130:3306
# Found slave: 192.168.253.130:3306
# Checking privileges.
MySQL Replication Failover Utility
Failover Mode = auto Next Interval = Mon May 31 14:26:34 2021
Master Information
------------------
Binary Log File Position Binlog_Do_DB Binlog_Ignore_DB
mysql-binlog.000003 194
GTID Executed Set
ea4a306b-c1d3-11eb-bf34-000c29f06c14:1-16
Replication Health Status
+------------------+-------+---------+--------+------------+---------+
| host | port | role | state | gtid_mode | health |
+------------------+-------+---------+--------+------------+---------+
| 192.168.253.146 | 3306 | MASTER | UP | ON | OK |
| 192.168.253.130 | 3306 | SLAVE | UP | ON | OK |
+------------------+-------+---------+--------+------------+---------+
Q-quit R-refresh H-health G-GTID Lists U-UUIDs
# Discovering slaves for master at 192.168.253.146:3306
MySQL Replication Failover Utility
Failover Mode = auto Next Interval = Mon May 31 14:28:58 2021
3.4 以守护进程方式启动mysalfailover
[root@localhost ~]# mysqlfailover --master=failover:pass@'192.168.253.146':3306 --discover-slaves-login=failover:pass --log=/tmp/failover.log --daemon=start
WARNING: Using a password on the command line interface can be insecure.
NOTE: Log file '/tmp/failover.log' does not exist. Will be created.
Starting failover daemon...
日志查看:
[root@node233 ~]# tail -fn 50 /tmp/failover.log
2016-10-17 17:47:54 PM INFO MySQL Utilities mysqlfailover version 1.6.4.
2016-10-17 17:47:54 PM INFO Server '192.168.253.131:3306' is using MySQL version 5.6.30-log.
2016-10-17 17:47:54 PM INFO Discovering slaves for master at 192.168.253.131:3306
2016-10-17 17:47:54 PM INFO Discovering slave at 192.168.253.146:3306
2016-10-17 17:47:54 PM INFO Found slave: 192.168.253.146:3306
2016-10-17 17:47:54 PM INFO Server '192.168.253.146:3306' is using MySQL version 5.6.30-log.
2016-10-17 17:47:54 PM INFO Discovering slave at 192.168.253.130:3306
2016-10-17 17:47:54 PM INFO Found slave: 192.168.253.130:3306
2016-10-17 17:47:54 PM INFO Server '192.168.253.130:3306' is using MySQL version 5.6.30-log.
2016-10-17 17:47:54 PM INFO Checking privileges.
2016-10-17 17:47:54 PM INFO Unregistering existing instances from slaves.
2016-10-17 17:47:54 PM INFO Registering instance on master.
2016-10-17 17:47:54 PM INFO Failover daemon started.
2016-10-17 17:47:54 PM INFO Failover mode = auto.
2016-10-17 17:47:57 PM INFO Master Information
2016-10-17 17:47:57 PM INFO Binary Log File: node233-binlog.000003, Position: 25463, Binlog_Do_DB: N/A, Binlog_Ignore_DB: N/A
2016-10-17 17:47:57 PM INFO GTID Executed Set: 8dc97c98-9439-11e6-9968-000c29b82d0d:1-511
2016-10-17 17:47:57 PM INFO Getting health for master: 192.168.253.131:3306.
2016-10-17 17:47:57 PM INFO Health Status:
2016-10-17 17:47:57 PM INFO host: 192.168.253.131, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:47:57 PM INFO host: 192.168.253.146, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:47:57 PM INFO host: 192.168.253.130, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
###上述部分完成主从、权限检查,成功启动mysqlfailover后输出主从健康状态,后会间隔1s持续检查主从健康状态
2016-10-17 17:48:15 PM INFO Discovering slaves for master at 192.168.253.131:3306
2016-10-17 17:48:15 PM INFO Discovering slave at 192.168.253.146:3306
2016-10-17 17:48:15 PM INFO Discovering slave at 192.168.253.130:3306
2016-10-17 17:48:15 PM INFO Master Information
2016-10-17 17:48:15 PM INFO Binary Log File: node233-binlog.000003, Position: 33887, Binlog_Do_DB: N/A, Binlog_Ignore_DB: N/A
2016-10-17 17:48:15 PM INFO GTID Executed Set: 8dc97c98-9439-11e6-9968-000c29b82d0d:1-547
2016-10-17 17:48:15 PM INFO Getting health for master: 192.168.253.131:3306.
2016-10-17 17:48:15 PM INFO Health Status:
2016-10-17 17:48:15 PM INFO host: 192.168.253.131, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:48:15 PM INFO host: 192.168.253.146, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:48:15 PM INFO host: 192.168.253.130, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
###此时将主节点mysql关闭,发布命令 [root@node233 ~]# service mysqld stop
2016-10-17 17:48:42 PM INFO Failed to reconnect to the master after 3 attemps. ###3次检测失败
2016-10-17 17:48:42 PM CRITICAL Master is confirmed to be down or unreachable.
2016-10-17 17:48:42 PM INFO Failover starting in 'auto' mode...
2016-10-17 17:48:42 PM INFO Candidate slave 192.168.253.146:3306 will become the new master.
2016-10-17 17:48:42 PM INFO Checking slaves status (before failover).
2016-10-17 17:48:42 PM INFO Preparing candidate for failover. ###寻找candidate用于failover
2016-10-17 17:48:42 PM INFO Creating replication user if it does not exist.
2016-10-17 17:48:42 PM INFO Stopping slaves.
2016-10-17 17:48:42 PM INFO Performing STOP on all slaves.
2016-10-17 17:48:42 PM INFO Switching slaves to new master.
2016-10-17 17:48:42 PM INFO Disconnecting new master as slave.
2016-10-17 17:48:42 PM INFO Starting slaves.
2016-10-17 17:48:42 PM INFO Performing START on all slaves.
2016-10-17 17:48:42 PM INFO Checking slaves for errors.
2016-10-17 17:48:42 PM INFO Failover complete. ###此处failover完成
2016-10-17 17:48:42 PM INFO Discovering slaves for master at 192.168.253.146:3306
2016-10-17 17:48:47 PM INFO Unregistering existing instances from slaves.
2016-10-17 17:48:47 PM INFO Registering instance on new master 192.168.253.146:3306.
2016-10-17 17:48:48 PM INFO Master Information ###后续部分为持续的主从状态监测
2016-10-17 17:48:48 PM INFO Binary Log File: node245-binlog.000002, Position: 41173, Binlog_Do_DB: N/A, Binlog_Ignore_DB: N/A
2016-10-17 17:48:48 PM INFO GTID Executed Set: 5dacc005-943a-11e6-996d-000c29328504:1[...]
2016-10-17 17:48:48 PM INFO Getting health for master: 192.168.253.146:3306.
2016-10-17 17:48:48 PM INFO Health Status:
2016-10-17 17:48:48 PM INFO host: 192.168.253.146, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:49:06 PM INFO Discovering slaves for master at 192.168.253.146:3306
2016-10-17 17:49:06 PM INFO Discovering slave at 192.168.253.130:3306
2016-10-17 17:49:06 PM INFO Found slave: 192.168.253.130:3306
2016-10-17 17:49:06 PM INFO Server '192.168.253.130:3306' is using MySQL version 5.6.30-log.
2016-10-17 17:49:06 PM INFO Master Information
2016-10-17 17:49:06 PM INFO Binary Log File: node245-binlog.000002, Position: 41173, Binlog_Do_DB: N/A, Binlog_Ignore_DB: N/A
2016-10-17 17:49:06 PM INFO GTID Executed Set: 5dacc005-943a-11e6-996d-000c29328504:1[...]
2016-10-17 17:49:06 PM INFO Getting health for master: 192.168.253.146:3306.
2016-10-17 17:49:06 PM INFO Health Status:
2016-10-17 17:49:06 PM INFO host: 192.168.253.146, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:49:06 PM INFO host: 192.168.253.130, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:49:24 PM INFO Discovering slaves for master at 192.168.253.146:3306
2016-10-17 17:49:24 PM INFO Discovering slave at 192.168.253.130:3306
2016-10-17 17:49:24 PM INFO Master Information
2016-10-17 17:49:24 PM INFO Binary Log File: node245-binlog.000002, Position: 41173, Binlog_Do_DB: N/A, Binlog_Ignore_DB: N/A
2016-10-17 17:49:24 PM INFO GTID Executed Set: 5dacc005-943a-11e6-996d-000c29328504:1[...]
2016-10-17 17:49:24 PM INFO Getting health for master: 192.168.253.146:3306.
2016-10-17 17:49:24 PM INFO Health Status:
2016-10-17 17:49:24 PM INFO host: 192.168.253.146, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK
2016-10-17 17:49:24 PM INFO host: 192.168.253.130, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK
3.5 检查主从库的一致性,并且显示主库从库的信息
#官方关于主从端口一直会报错的问题,前面是按照3306测试的,从mysqlrplcheck开始将从库端口改为3307接下来的测试:
官方网址:https://forums.mysql.com/read.php?144,594276,596297
错误演示:
[root@localhost ~]# mysqlrplcheck --master=root:mysql@127.0.0.1:3306 --slave=root:mysql@192.168.253.130:3306 --show-slave-status -vv
WARNING: Using a password on the command line interface can be insecure.
Usage: mysqlrplcheck --master=root@localhost:3306 --slave=root@localhost:3310
mysqlrplcheck: error: The master and slave are the same host and port.
正确演示:
[root@localhost ~]# mysqlrplcheck --master=root:mysql@192.168.253.146:3306 --slave=root:mysql@192.168.253.130:3307 --show-slave-status -vv
WARNING: Using a password on the command line interface can be insecure.
# master on 192.168.253.146: ... connected.
# slave on 192.168.253.130: ... connected.
Test Description Status
---------------------------------------------------------------------------
Checking for binary logging on master [pass]
Are there binlog exceptions? [pass]
Replication user exists? [pass]
Checking server_id values [pass]
master id = 4
slave id = 5
Checking server_uuid values [pass]
master uuid = ea4a306b-c1d3-11eb-bf34-000c29f06c14
slave uuid = 2d65fce7-ae65-11eb-8ca2-000c29d3b1da
Is slave connected to master? [pass]
Check master information file [pass]
#
# Master information file:
#
Master_Log_File : mysql-binlog.000005
Read_Master_Log_Pos : 194
Master_Host : 192.168.253.146
Master_User : repl
Master_Password : 123
Master_Port : 3306
Connect_Retry : 60
Master_SSL_Allowed : 0
Master_SSL_CA_File :
Master_SSL_CA_Path :
Master_SSL_Cert :
Master_SSL_Cipher :
Master_SSL_Key :
Master_SSL_Verify_Server_Cert : 0
Heartbeat : 30
Bind :
Ignored_server_ids : 0
Uuid : ea4a306b-c1d3-11eb-bf34-000c29f06c14
Retry_count : 86400
SSL_CRL :
SSL_CRL_Path :
Enabled_auto_position : 1
Channel_Name :
Checking InnoDB compatibility [pass]
Checking storage engines compatibility [pass]
Checking lower_case_table_names settings [pass]
Master lower_case_table_names: 0
Slave lower_case_table_names: 0
Checking slave delay (seconds behind master) [pass]
#
# Slave status:
#
Slave_IO_State : Waiting for master to send event
Master_Host : 192.168.253.146
Master_User : repl
Master_Port : 3306
Connect_Retry : 60
Master_Log_File : mysql-binlog.000005
Read_Master_Log_Pos : 345
Relay_Log_File : localhost-relay-bin.000008
Relay_Log_Pos : 413
Relay_Master_Log_File : mysql-binlog.000005
Slave_IO_Running : Yes
Slave_SQL_Running : Yes
Replicate_Do_DB :
Replicate_Ignore_DB :
Replicate_Do_Table :
Replicate_Ignore_Table :
Replicate_Wild_Do_Table :
Replicate_Wild_Ignore_Table :
Last_Errno : 0
Last_Error :
Skip_Counter : 0
Exec_Master_Log_Pos : 345
Relay_Log_Space : 664
Until_Condition : None
Until_Log_File :
Until_Log_Pos : 0
Master_SSL_Allowed : No
Master_SSL_CA_File :
Master_SSL_CA_Path :
Master_SSL_Cert :
Master_SSL_Cipher :
Master_SSL_Key :
Seconds_Behind_Master : 0
Master_SSL_Verify_Server_Cert : No
Last_IO_Errno : 0
Last_IO_Error :
Last_SQL_Errno : 0
Last_SQL_Error :
Replicate_Ignore_Server_Ids :
Master_Server_Id : 4
Master_UUID : ea4a306b-c1d3-11eb-bf34-000c29f06c14
Master_Info_File : mysql.slave_master_info
SQL_Delay : 0
SQL_Remaining_Delay : None
Slave_SQL_Running_State : Slave has read all relay log; waiting for more updates
Master_Retry_Count : 86400
Master_Bind :
Last_IO_Error_Timestamp :
Last_SQL_Error_Timestamp :
Master_SSL_Crl :
Master_SSL_Crlpath :
Retrieved_Gtid_Set : ea4a306b-c1d3-11eb-bf34-000c29f06c14:7-16
Executed_Gtid_Set : ea4a306b-c1d3-11eb-bf34-000c29f06c14:1-16
Auto_Position : 1
Replicate_Rewrite_DB :
Channel_Name :
Master_TLS_Version :
# ...done.
3.6 mysqlreplicate快速创建主从,
mysqlreplicate --master=root:mysql@192.168.253.146:3306 --slave=root:mysql@192.168.253.130:3307 --rpl-user=repl:123
3.6 查看数据库占用的空间大小
[root@localhost ~]# mysqldiskusage --server=root:mysql@localhost
WARNING: Using a password on the command line interface can be insecure.
# Source on localhost: ... connected.
# Database totals:
+---------------------+-------------+
| db_name | total |
+---------------------+-------------+
| mysql | 12,165,302 |
| performance_schema | 822,167 |
| sys | 480,242 |
| tt | 106,997 |
+---------------------+-------------+
Total database disk usage = 13,574,708 bytes or 12.95 MB
#...done.
3.7 索引检查,看是否有冗余的索引
mysqlindexcheck --server=root:mysql@localhost tt
附录:
几类常见的错误: 1、访问拒绝权限问题
# mysqlrplshow --master=failover:pass@192.168.253.131:3306 --discover-slaves-login=failover:pass
WARNING: Using a password on the command line interface can be insecure.
# master on 192.168.253.131: ...
FAILED.
ERROR: Access denied for user 'failover'@'pass' (using password: YES)
应对方案,用户需要授予基于主机名的访问权限
mysql> grant all privileges on *.* to 'failover'@'pass' ;
2、权限不足的问题
# ERROR: User root on 192.168.253.131@3306 does not have sufficient privileges to execute the failover command
(required: SUPER, GRANT OPTION, REPLICATION SLAVE, SELECT, RELOAD, DROP, CREATE, INSERT).
2016-10-08 16:18:20 PM CRITICAL Not enough privileges to execute command.
应对方案,用户需要授予with grant option权限
mysql> grant all privileges on *.* to 'root'@'pass';
3、配置参数问题
[root@node233 ~]# mysqlfailover --master=root:pass@192.168.253.131:3306 --discover-slaves-login=root:pass
WARNING: Using a password on the command line interface can be insecure.
# Discovering slaves for master at 192.168.253.131:3306
# Discovering slave at 192.168.253.130:3306
# Found slave: 192.168.253.130:3306
# Discovering slave at 192.168.253.146:3306
# Found slave: 192.168.253.146:3306
# Checking privileges.
2016-10-08 16:21:40 PM CRITICAL Failover requires --master-info-repository=TABLE for all slaves.
ERROR: Failover requires --master-info-repository=TABLE for all slaves.
# 应对方案,需要在配置文件中增加上述参数,如本文之前描述
4、多个mysqlfailover进程启动问题
[root@node233 ~]# mysqlfailover --master=failover:pass@'192.168.253.131':3306 --discover-slaves-login=failover:pass
WARNING: Using a password on the command line interface can be insecure.
# Discovering slaves for master at 192.168.253.131:3306
# Discovering slave at 192.168.253.130:3306
# Found slave: 192.168.253.130:3306
# Discovering slave at 192.168.253.146:3306
# Found slave: 192.168.253.146:3306
# Checking privileges.
Multiple instances of failover console found for master 192.168.253.131:3306.
If this is an error, restart the console with --force.
Failover mode changed to 'FAIL' for this instance.
Console will start in 10 seconds..........starting Console.
MySQL Replication Failover Utility
Failover Mode = fail Next Interval = Mon Oct 17 17:02:17 2016
如上,如果已经有启动的mysqlfailover,则出现上述failover模式
如果无启动的mysqlfailover,也出现上述情形,建议执行以下命令
mysql > truncate table mysql.failover_console; --该表记录了主节点及端口号
mysql> select * from mysql.failover_console \G
*************************** 1. row ***************************
host: 192.168.253.146
port: 3306
1 row in set (0.00 sec)
MySQL Utilities工具教程的更多相关文章
- MySQL Utilities管理工具
前提: 1.安装MySQL Utilities工具 2.复制my_print_defaults命令至/usr/bin下或写入环境变量. 卸载方式: python ./setup.py clean -- ...
- 大数据工具篇之Hive与MySQL整合完整教程
大数据工具篇之Hive与MySQL整合完整教程 一.引言 Hive元数据存储可以放到RDBMS数据库中,本文以Hive与MySQL数据库的整合为目标,详细说明Hive与MySQL的整合方法. 二.安装 ...
- MySQL管理工具MySQL Utilities — 介绍与安装(1)
MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配 ...
- (5.6)mysql高可用系列——MySQL Utilities 管理工具
关键词:mysql工具集,mysql管理工具,mysql utilities [1]安装mysql utilities cd /download wget https://cdn.mysql.com/ ...
- Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R ...
- Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: htt ...
- mysql 基本使用教程(源于网络)
http://dev.mysql.com/doc/refman/5.1/zh/index.html 3.1. 连接与断开服务器 3.2. 输入查询 3.3. 创建并使用数据库 3.3.1. 创建并选择 ...
- 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )
从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 ) 我现在在Coursera上面学data science 中的R programming,过去很少接 ...
- MySQL WorkBench中文教程
在网上找到了一份MySQL WorkBench的教程,点此可以下载Work Bench教程(原文),为了便于学习和交流,请朋友帮忙翻译成了中文,点此可以下载Work Bench教程(中文翻译版). 具 ...
随机推荐
- Error in render: "TypeError: Cannot read property '' of undefined"
描述 在用Vue的时候出现了一个令人窒息的错误 报错显示 "avatar" 未定义,但在postman中测试返回的数据确实有"avatar",可是为什么未找到? ...
- idea中快捷键的设置
IDEA快捷方式改成eclipse的 File -> Settings -> Keymap 这里选Eclipse 然后Applay 即可: 快速生成main方法设置以及System.out ...
- charles证书导入系统信任区(Android7.0以上)
打开charles,跟着下图来,下载好charles的证书 后缀是pem的格式,挺方便的了,burp的证书是der的,还需要再进一步转化成pem,这里就不再多说, 利用openssl来计算出文件名 加 ...
- buu [BJDCTF2020]easyrsa
下载附件是一个py文件,打开之后,发现是常规的rsa,不过有几个函数不知道. 这里记录一下, Fraction(a,b) 相当于 a/b Derivative(f(x),x) : 当x='x'时,f( ...
- python mqtt通信(windows)
一.消息队列服务器 这里我用到activemq,可到官网下载 http://activemq.apache.org/ 1. 若遇到点击apache-activemq-5.16.2\bin\acti ...
- 公钥-私钥 白名单-黑名单 Linux 远程访问及控制(SSH)
远程访问及控制一.SSH远程管理二.OpenSSH服务器① SSH (Secure Shell)协议② OpenSSH三.配置OpenSSH服务器举例四.sshd 服务支持两种验证方式五.使用SSH客 ...
- C语言:size_t类型
size_t 的全称应该是size type,就是说"一种用来记录大小的数据类型".通常我们用sizeof(XXX)操作,这个操作所得到的结果就是size_t类型.因为size_t ...
- MYSQL 连接举例
内连接:连接的多个数据必须存在才能连接select * from sjh14482条记录 create table sjha as ( select * from sjh1 limit 20 )sel ...
- 小 W 离职了
今天这篇是架构师大刘的系列故事 小W要离职了,大刘并没有挽留,甚至有点庆幸. 小W离职的原因比较简单,这次升职加薪,大刘提拔了和他同期进来,并且工作年限和他差不多的小L,而小W则是原地没动,薪水也没有 ...
- 每天五分钟Go - 数组
//数组的声明,默认为0值 var a1 [2]int fmt.Println(a1) //数组的长度 fmt.Println(len(a1)) //遍历数组 for i, v := range a1 ...