mysql5.7常用操作命令手册


文章目录

  • 前言
  • 一、关闭mysql服务
    • 1.mha节点,关闭MHA高可用
    • 2.主节点,摘掉vip,停掉mysql服务
    • 3.从节点,停掉mysql服务
  • 二、启动mysql
    • 1.启动数据库顺序
    • 2.主节点,登陆数据库检查主库状态,将主库改成读写状态
    • 3.从节点启动配置数据库,检查从库状态,启动从库,检查主从同步状态
    • 4.主节点配置VIP,挂载VIP
  • 三、查看数据库字符集和排序规则并创建数据库
  • 四、查看表字段的注释信息
  • 五、修改表字段对应的长度
  • 六、清理binlog
  • 七、查看活跃的session
  • 八、查看会话的历史查询记录
  • 九、线程内存使用统计
  • 十、mysqldump备份表
  • 十一、mysqldump备份单库
  • 十二、查看正在进行中的事务
  • 十三、查看lock阻塞信息
  • 十四、查看阻塞者并解除锁
  • 十五、获取表中未使用索引信息
  • 十六、获取冗余索引
  • 十七、跳过GTID
  • 十八、binlog解析
  • 十九、gh-ost在线表结构变更 DDL
  • 二十、xtrabackup物理备份
  • 二十一、慢查询日志解析top10性能sql查询
  • 二十二、查询从库状态
  • 二十三、查看某数据库中的所有表
  • 二十四、查看库大小
  • 二十五、查看表大小
  • 二十六、查看表有多少条数据量
  • 二十七、根据表名找对应的库名
  • 二十八、查看表的数据并将结果导出为csv格式
  • 二十九、导出数据为csv格式并携带表头
  • 三十、查看mysql最近执行的语句
  • 三十一、查看mysql正在执行的sql
  • 三十二、查看mysql设置的连接数
  • 三十三、查看mysql设置的读权限
  • 三十四、创建用户并授权
  • 三十五、修改存储引擎
  • 三十六、查看默认存储引擎
  • 三十七、查看存储引擎设置


前言

本篇文章主要整理了以下在MySQL5.7环境中常用的一些命令,希望对大家有用。


一、关闭mysql服务

别轻易停数据库

关闭MHA高可用--->主库摘掉VIP--->关闭主库--->关闭从库

1.mha节点,关闭MHA高可用

systemctl stop daemontools.service

2.主节点,摘掉vip,停掉mysql服务

ifconfig bond0:0 down
/etc/init.d/mysql3306 stop(需要数据库root密码)
ps -ef|grep mysqld   检查确认数据库是否关闭

3.从节点,停掉mysql服务

/etc/init.d/mysql3306 stop(需要数据库root密码)
ps -ef|grep mysqld   检查确认数据库是否关闭

二、启动mysql

1.启动数据库顺序

首先启动主库---->启动从库---->挂载VIP--->启动MHA高可用

2.主节点,登陆数据库检查主库状态,将主库改成读写状态

/etc/init.d/mysql3306 start
/export/servers/app/mysql-5.7.42/bin/mysql -uroot  -p -S /export/servers/data/my3306/run/mysqld.sockroot@localhost:mysqld.sock : (none) 09:05:14> show slave status\G;
Empty set (0.00 sec)  主机点显示的信息为空ERROR: 
No query specified
mysql> show variables like '%read_only%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_read_only      | OFF   |
| read_only             | ON    |
| super_read_only       | ON    |
| transaction_read_only | OFF   |
| tx_read_only          | OFF   |
+-----------------------+-------+
5 rows in set (0.00 sec)
set global read_only=off;
set global super_read_only=off;

3.从节点启动配置数据库,检查从库状态,启动从库,检查主从同步状态

/etc/init.d/mysql3306 start
/export/servers/app/mysql-5.7.22/bin/mysql -uroot  -p -S /export/servers/data/my3306/run/mysqld.sock
start slave;
show slave status\G;

4.主节点配置VIP,挂载VIP

/sbin/ifconfig 网卡名称 vip地址 netmask 255.255.255.0 && /sbin/arping -c 3 -s vip地址 -I bond0 网关地址

三、查看数据库字符集和排序规则并创建数据库

mysql> SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME 
FROM information_schema.SCHEMATA 
WHERE 
SCHEMA_NAME = 'bank_data';  #替换为需要查看的库名mysql> create database bank_data character set utf8 collate utf8_general_ci;  #根据查找出来的信息创建对应的库

四、查看表字段的注释信息

mysql > show  create table  表名 \G; 

五、修改表字段对应的长度

mysql > ALTER TABLE `表名` MODIFY COLUMN `字段名` varchar(500)修改后的长度   NOT NULL DEFAULT '' COMMENT '通道名称'; 如果修改之前查出来该字段有对应的注释信息和不为空、默认值,则再修改时照常添加上

六、清理binlog

mysql >PURGE BINARY LOGS BEFORE '2021-10-12 17:00:00'; #删除指定日期之前的binlog
mysql > show master logs;
#删除mysql-bin.000006之前的binlog日志  
mysql >  purge binary logs to 'mysql-bin.000006';   

七、查看活跃的session

然后输出kill sql

mysql > select concat("kill ",id,";"),id,user,host,db,state,command,time,left(info,50) from information_schema.processlist where command<>'sleep' and command<>'Binlog Dump GTID' order by time;

八、查看会话的历史查询记录

mysql > SELECTb.processlist_id,c.db,c.user,a.sql_text,c.command,c.time,c.state,DATE_SUB(NOW(), INTERVAL (SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE variable_name='UPTIME') - a.TIMER_START * 1e-12 SECOND) AS start_time,DATE_SUB(NOW(), INTERVAL (SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE variable_name='UPTIME') - a.TIMER_START * 1e-12 SECOND) AS TIMER_END
FROMperformance_schema.events_statements_history a
JOINperformance_schema.threads b USING (thread_id)
JOINinformation_schema.processlist c ON b.processlist_id = c.id
WHEREc.id = 284 #这个id使用show processlist命令查询即可
ORDER BYa.EVENT_ID;

九、线程内存使用统计

mysql > SELECTmt.thread_id AS thread_id,SUM(mt.current_count_used) AS current_count_used,CAST(ROUND(SUM(mt.current_number_of_bytes_used) / 1024 / 1024) AS SIGNED) AS current_allocated_size_m,MAX(mt.current_number_of_bytes_used) AS current_max_alloc,t.name,t.processlist_db,t.processlist_info,t.processlist_command,t.processlist_host,t.processlist_time,t.processlist_user,t.processlist_id,t.processlist_state,t.parent_thread_id,t.thread_os_id
FROMperformance_schema.memory_summary_by_thread_by_event_name mt
INNER JOINperformance_schema.threads t ON mt.thread_id = t.thread_id
WHEREt.processlist_db IS NOT NULLAND t.name = 'thread/sql/one_connection'
GROUP BYmt.thread_id
ORDER BYcurrent_allocated_size_m;

十、mysqldump备份表

[root@python3 tmp]# /export/servers/app/mysql-5.7.42/bin/mysqldump  -uroot  -p -S \
/export/servers/data/my3306/run/mysqld.sock --default-character-set=utf8 --opt  --hex-blob  --skip-tz-utc \--add-drop-database=FALSE --add-drop-table=FALSE --single-transaction  --set-gtid-purged=OFF \--log-error=sbtest1.full.sql.`date +%Y%m%d_%H%M%S`.err  \dbtest --tables sbtest1 > sbtest1.full.sql.`date +%Y%m%d_%H%M%S` 2>sbtest1.full.sql.`date +%Y%m%d_%H%M%S`.log
参数解释
--default-character-set=utf8  指定备份的字符集
--opt 启用一组优化选项,包括 --quick、--add-drop-table、--add-locks、--create-options、--disable-keys 和 --extended-insert。这是一个常用的选项组合,用于提高备份速度并确保备份数据的一致性
--hex-blob  以十六进制格式备份 BLOB 类型的字段。适用于二进制数据,以避免数据丢失或损坏
--skip-tz-utc 备份时不会在备份文件的最前几行添加SET TIME_ZONE='+00:00'
--add-drop-database=FALSE 不在备份中添加 DROP DATABASE 语句。如果数据库已经存在,备份将不会包含删除现有数据库的语句
--add-drop-table=FALSE 不在备份中添加 DROP TABLE 语句。备份将不会包含删除现有表的语句。
--single-transaction 在一个事务中进行备份,这样可以在备份期间保持数据一致性。适用于使用事务的存储引擎(例如 InnoDB)
--set-gtid-purged=OFF  开启了GTID功能的数据库,备份时需要添加该参数 。不设置 GTID(全局事务标识)的被清除信息。适用于某些情况下需要禁用 GTID 记录
-R 备份存储过程(必须使用超管用户备份)
--tables 指定表名

十一、mysqldump备份单库

[root@python3 tmp]# dbname=visualdata
[root@python3 tmp]# /export/servers/app/mysql-5.7.22/bin/mysqldump  -uroot -S \/export/servers/data/my${port}/run/mysqld.sock -p  --default-character-set=utf8   --opt  --hex-blob  --skip-tz-utc \--add-drop-database=FALSE  --add-drop-table=FALSE --single-transaction  --set-gtid-purged=OFF \--log-error=${dbname}.full.sql.`date +%Y%m%d_%H%M%S`.err  \${dbname}   > ${dbname}.full.sql.`date +%Y%m%d_%H%M%S` 2>${dbname}.full.sql.`date +%Y%m%d_%H%M%S`.log

十二、查看正在进行中的事务

mysql >SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
Kill  查出来的trx_mysql_thread_id  即可杀掉当前的大事务

十三、查看lock阻塞信息

mysql > show engine innodb status\G;
mysql > select * from sys.innodb_lock_waits; #用于获取 InnoDB 存储引擎中关于锁等待的详细信息。这个视图显示了哪些事务正在等待其他事务持有的锁,包括事务 ID、被等待的锁以及相关的资源。这对于诊断和分析数据库中的锁竞争问题非常有帮助。
mysql > select * from information_schema.INNODB_LOCKS;  #查看当前锁定的事务
mysql > select * from information_schema.INNODB_LOCK_WAITS; #查看当前等锁的事务
mysql > select * from information_schema.INNODB_TRX order by trx_started desc; #查看进行中的事务并按事务开始时间倒序排序

十四、查看阻塞者并解除锁

mysql > SELECT current_timestamp,pw.user as pw_user,pw.db  as pw_db,substring_index(pw.host,':',1)  as pw_host,pw.COMMAND as pw_command,pw.state as pw_state,pw.INFO  as pw_sqltext,pw.id  as pw_processid,pw.TIME as pw_time,`r`.`trx_wait_started` AS `waiting_started`,timediff( now(), `r`.`trx_wait_started` ) AS `waiting_age`,timestampdiff( SECOND, `r`.`trx_wait_started`, now() ) AS `waiting_age_secs`,`rl`.`lock_table` AS `waiting_locked_table`,`rl`.`lock_index` AS `waiting_locked_index`,`rl`.`lock_type` AS `waiting_locked_type`,`rl`.`lock_data` AS `waiting_locked_data`,`rl`.`lock_mode` AS `waiting_lock_mode`,`r`.`trx_mysql_thread_id` AS `waiting_pid`,r.trx_isolation_level AS waiting_isolation_level,`r`.`trx_id` AS `waiting_trx_id`,`r`.`trx_started` AS `waiting_trx_started`,timediff(now(), `r`.`trx_started`) AS `waiting_trx_age`,`r`.`trx_rows_locked` AS `waiting_trx_rows_locked`,`r`.`trx_rows_modified` AS `waiting_trx_rows_modified`,`r`.`trx_query` AS `waiting_query`,`rl`.`lock_id` AS `waiting_lock_id`,`b`.`trx_id` AS `blocking_trx_id`,`b`.`trx_mysql_thread_id` AS `blocking_pid`,b.trx_isolation_level AS block_isolation_level,`b`.`trx_query` AS `blocking_query`,`bl`.`lock_id` AS `blocking_lock_id`,`bl`.`lock_mode` AS `blocking_lock_mode`,`b`.`trx_started` AS `blocking_trx_started`,timediff(now(), `b`.`trx_started`) AS `blocking_trx_age`,`b`.`trx_rows_locked` AS `blocking_trx_rows_locked`,`b`.`trx_rows_modified` AS `blocking_trx_rows_modified`,concat(  'KILL ', `b`.`trx_mysql_thread_id`, ';' ) AS `kill_sql`,
pb.user as pb_user,pb.db  as pb_db,substring_index(pb.host,':',1)  as pb_host,pb.COMMAND as pb_command,pb.state as pb_state,pb.INFO  as pb_sqltext,pb.id  as pb_processid,pw.TIME as pw_time
FROM`information_schema`.`innodb_lock_waits` `w`
JOIN `information_schema`.`innodb_trx` `b` ON `b`.`trx_id` = `w`.`blocking_trx_id`
JOIN `information_schema`.`innodb_trx` `r` ON `r`.`trx_id` = `w`.`requesting_trx_id`
JOIN `information_schema`.`innodb_locks` `bl` ON `bl`.`lock_id` = `w`.`blocking_lock_id`
JOIN `information_schema`.`innodb_locks` `rl` ON `rl`.`lock_id` = `w`.`requested_lock_id`
JOIN `information_schema`.`processlist` `pw` ON `pw`.`id` = `r`.`trx_mysql_thread_id`
JOIN `information_schema`.`processlist` `pb` ON `pb`.`id` = `b`.`trx_mysql_thread_id`
ORDER BY`r`.`trx_id`;

十五、获取表中未使用索引信息

mysql> select * from sys.schema_unused_indexes a  where a.object_schema='dbtest'  and a.object_name  in ('sbtest2') ORDER BY a.object_name;
+---------------+-------------+------------+
| object_schema | object_name | index_name |
+---------------+-------------+------------+
| dbtest        | sbtest2     | k_2        |
+---------------+-------------+------------+
1 row in set (0.00 sec)

十六、获取冗余索引

mysql > select a.table_schema,a.table_name,a.redundant_index_name,a.redundant_index_columns,a.dominant_index_name,a.dominant_index_columns from sys.schema_redundant_indexes a where table_schema != 'performance_schema';

十七、跳过GTID

mysql > SET @@SESSION.GTID_NEXT= 'ece7b132-33c5-11e8-bfd6-e8611f23c126:256649553';
mysql > begin;
mysql > commit;
mysql > SET @@SESSION.GTID_NEXT= 'AUTOMATIC';

十八、binlog解析

mysqlbinlog --base64-output=DECODE-ROWS -vv mysql_bin.000008 > mysql_bin.000008.log

十九、gh-ost在线表结构变更 DDL

gh-ost --user="root" --password="******" --host=10.241.241.224 --port=3306 --database="order" --table="orderinfo" \
--alter=" add key ind_account (trans_account) "   --allow-on-master --initially-drop-old-table \
--initially-drop-ghost-table --allow-nullable-unique-key   --max-load=Threads_connected=1500 \
--critical-load=Threads_connected=4000 --chunk-size=200000  --max-lag-millis=1500 --initially-drop-socket-file  \
--verbose --execute

二十、xtrabackup物理备份

innobackupex --defaults-file=${mycnfdir} --user=$username --password=$passwd --lock-ddl-per-table --slave-info ${backup_path} --stream=tar | gzip - > ${backup_path}/full_${current_day}bak.tar.gz--lock-per-table: 在备份期间对每个表进行DDL锁定,确保表结构的一致性
--slave-info: 包括备份中的主从信息
--stream=tar: 将备份数据流式传输到tar文件中
|gzip - >  ${backup_path}/full_${current_day}bak.tar.gz :通过管道将tar文件的输出压缩为gzip格式的文件,并将文件保存到.tar.gz中
-R: 备份的同时也备份存储过程(前提是必须使用超管用户来执行备份指令,且数据库开启了存储过程)

二十一、慢查询日志解析top10性能sql查询

pt-query-digest --type slowlog --since "2021-05-22 17:01:00" --until "2021-05-22 17:05:00"  slow.log > slow.log.txt

二十二、查询从库状态

mysql >show slave status\G;

二十三、查看某数据库中的所有表

mysql >use information_schema
mysql > select * from tables where table_schema=upper('foreigntrade_db');
#foreigntrade_db 替换为为库名

二十四、查看库大小

mysql > use information_schema
mysql > select sum(data_length)/1024/1024/1024 from tables where table_schema=upper('foreigntrade_db');
#foreigntrade_db 替换为为库名
#该语句出来是GB单位,如果要为MB,则为/1024/1024

二十五、查看表大小

mysql > use information_schema
mysql > select sum(data_length)/1024/1024/1024 from tables where table_schema=upper('foreigntrade_db') and table_name='for_access_manifest';
#首先进入到information_schema库中
#注意替换foreigntrade_db库名和for_access_manifest表名
#该语句出来是GB单位,如果要为MB,则为/1024/1024
#upper()函数对数据库名进行了转换,将其转换为大写形式,如果库名本身是小写,则此处不需要该函数mysql > SELECT CONCAT(SUM(data_length)/1024/1024, ' MB') AS size FROM information_schema.tables WHERE table_schema = upper('foreigntrade_db') AND table_name = 'for_access_manifest';
#将获得一个名为'size'的结果列,其中包含数据大小以MB为单位的字符串。例如,结果可能类似于"10.5 MB"。#该语句也能查表空间大小,结果以KB显示
mysql > select table_name,concat((avg_row_length*table_rows+index_length)/1024,'KB')as size from tables where table_schema='school' and table_name='student';

二十六、查看表有多少条数据量

mysql > select count(*) from 库名.表名;

二十七、根据表名找对应的库名

mysql> SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES WHERE TABLE_NAME = '已知的表名';

二十八、查看表的数据并将结果导出为csv格式

mysql > SELECT column1, column2, ... INTO OUTFILE '/tmp/back.csv' FROM your_table  WHERE your_conditions;#一般指定导出目录为tmp目录,就不会报错‘权限不足问题’

二十九、导出数据为csv格式并携带表头

mysql > SELECT 'id', 'deleted', 'created_time', 'modified_time', 'created_user' #必须是表中的字段和下方是select保持一致
UNION ALL
SELECT id, deleted, created_time, modified_time, created_user
from  b_incident
WHERE incident_state = 'incident_done'
INTO OUTFILE '/tmp/incident.csv'
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

三十、查看mysql最近执行的语句

先查看一下二进制的记录日志是否打开
mysql > show variables where Variable_name="general_log";  #输出为on为打开,反之为关闭 
mysql > set global general_log=on;可以设置打开
然后确认一下默认的log产生在哪里
mysql > show variables where Variable_name="general_log_file"; #查看
然后去查出来的指定位置去查看即可

三十一、查看mysql正在执行的sql

mysql > select * from information_schema.processlist where info is not null;
可查看正在执行sql的ID、用户、主机、数据库库名、命令(增删改查)、执行时间、状态、执行的sql
可以查找出来一直长时间挂着是事务,通过ID进行kill 操作

三十二、查看mysql设置的连接数

mysql > show variables like '%conn%';
+-----------------------------------------------+-----------------+
| Variable_name                                 | Value           |
+-----------------------------------------------+-----------------+
| character_set_connection                      | utf8            |
| collation_connection                          | utf8_general_ci |
| connect_timeout                               | 10              |
| disconnect_on_expired_password                | ON              |
| init_connect                                  |                 |
| max_connect_errors                            | 2000            |
| max_connections                               | 2080            |
| max_user_connections                          | 1000            |
| performance_schema_session_connect_attrs_size | 512             |
+-----------------------------------------------+-----------------+

三十三、查看mysql设置的读权限

mysql > show variables like '%read_only%';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_read_only      | OFF   |
| read_only             | ON    |
| super_read_only       | ON    |
| transaction_read_only | OFF   |
| tx_read_only          | OFF   |
+-----------------------+-------+

三十四、创建用户并授权

mysql > grant select,update,insert,delete on yz_work.*  to 'pull_data_XZSPJ'@'192.168.65.11' identified by 'Vs$SJ&ROuNPxUHyN';

三十五、修改存储引擎

mysql > alter table 表名 engine=innodb;

三十六、查看默认存储引擎

mysql >select @@default_storage_engine;

三十七、查看存储引擎设置

mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+MySQL的手机销售管理系统

系统展示 用户前台界面 管理员后台界面 商家后台界面 系统背景 随着智能手机的普及和市场竞争的日益激烈&#xff0c;手机销售行业面临着前所未有的挑战与机遇。传统的手工记录和简单的电子表格管理方式已难以满足现代手机销售业务的需求&#xff0c;销售数据的混乱和管理效率低…

技术成神之路:设计模式(十四)享元模式

介绍 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构性设计模式&#xff0c;旨在通过共享对象来有效地支持大量细粒度的对象。 1.定义 享元模式通过将对象状态分为内部状态&#xff08;可以共享&#xff09;和外部状态&#xff08;不可共享&#xff09;&#xf…

C语言-文件操作-一些我想到的、见到的奇怪的问题

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C语言】 欢迎点赞&#x1f44d;收藏⭐关注❤️ C语言-文件操作-一些我想到的、见到的奇怪的问题 前言1.在不关闭文件的情况下&#xff0c;连续多次调用 fopen() 打开同一个文件&#xff0c;会发生什么&#xff1f;1.1过…

Cursor火出圈,未来程序员还有出路吗?

大家好&#xff0c;我是凡人。 今天我表弟家邻居的阿姨&#xff0c;托他问问我目前程序员还有前景吗&#xff0c;希望我根据十几年的经验给出点建议&#xff0c;看看程序员这条路未来能不能走。 一下子不知道该怎么回复他了&#xff0c;如果是三年前问我&#xff0c;肯定毫不…

【React】React18.2.0核心源码解读

前言 本文使用 React18.2.0 的源码&#xff0c;如果想回退到某一版本执行git checkout tags/v18.2.0即可。如果打开源码发现js文件报ts类型错误请看本人另一篇文章&#xff1a;VsCode查看React源码全是类型报错如何解决。 阅读源码的过程&#xff1a; 下载源码 观察 package…

解决【WVP服务+ZLMediaKit媒体服务】加入海康摄像头后,能发现设备,播放/点播失败,提示推流超时!

环境介绍 每人搭建的环境不一样&#xff0c;情况不一样&#xff0c;但是原因都是下面几种&#xff1a; wvp配置不当网络端口未放开网络不通 我搭建的环境&#xff1a; WVP服务&#xff1a;windows下&#xff0c;用idea运行的源码 ZLM服务&#xff1a;虚拟机里 问题描述 1.…

【人工智能学习笔记】5 计算机视觉基础

计算机视觉概述 定义&#xff1a;计算机视觉&#xff08;Computer Vision&#xff09;是一门研究如何使机器“看”的科学&#xff0c;也可以看作是研究如何使人工系统从图像活多维数据中“感知”的科学终极目标&#xff1a;计算机视觉成为机器认知世界的基础&#xff0c;终极目…

superset 解决在 mac 电脑上发送 slack 通知的问题

参考文档: https://superset.apache.org/docs/configuration/alerts-reports/ 核心配置: FROM apache/superset:3.1.0USER rootRUN apt-get update && \apt-get install --no-install-recommends -y firefox-esrENV GECKODRIVER_VERSION0.29.0 RUN wget -q https://g…

【高级篇】ENC编码器如何挂载Windows共享目录进行录像

【高级篇】ENC编码器如何挂载Windows共享目录进行录像 Windows共享目录前提条件1、打开控制面板&#xff0c;点击 程序 菜单2、点击 启用或关闭Windows功能 菜单3、如下图&#xff0c;勾选SMB1.0/CIFS文件共享支持,并点击确认按钮&#xff0c;然后根据提示重启电脑 创建共享目录…

如何利用Samba跨平台分享Ubuntu文件夹

1.安装Samba 终端输入sudo apt install samba 2.配置Samba 终端输入sudo vim /etc/samba/smb.conf 打开配置文件 滑动文件到最底下 输入以下内容 [Share] # 要共享的文件夹路径 path /home/xxx/sambashare read only no browsable yes编辑完成后按一下Esc按键后输入:wq回…

ABAP-Swagger 一种公开 ABAP REST 服务的方法

ABAP-Swagger An approach to expose ABAP REST services 一种公开 ABAP REST 服务的方法 Usage 1: develop a class in ABAP with public methods 2: implement interface ZIF_SWAG_HANDLER, and register the public methods(example method zif_swag_handler~meta) 3: …

Docker 以外置数据库方式部署禅道

2.安装步骤 2.1.参考资料 禅道官网文档: https://www.zentao.net/book/zentaopms/docker-1111.html https://www.zentao.net/book/zentaopms/405.html 2.2.详细步骤 ssh 登录服务器创建目录 /opt/zentao /opt/zentao/data /opt/zentao/db cd /opt mkdir zentao mkdir zentao…

开源免费的NAS系统-TrueNAS CORE上创建CentOS7虚拟机

目录 文章目录 目录1、说明2、准备工作2.1、准备安装镜像2.1、创建用户2.2、开启 ssh 服务2.3、设置用户权限2.4、上传系统镜像2.5、 添加虚拟机 3、开始安装系统3.1、启动虚拟机3.2、选择语言3.3、配置网络3.4、设置 root 密码3.5、删除光驱3.6、重启虚拟机3.7、使用 ssh 连接…

C++ | Leetcode C++题解之第414题第三大的数

题目&#xff1a; 题解&#xff1a; class Solution { public:int thirdMax(vector<int> &nums) {int *a nullptr, *b nullptr, *c nullptr;for (int &num : nums) {if (a nullptr || num > *a) {c b;b a;a &num;} else if (*a > num &&am…

【Python】练习:控制语句(二)第4关

第4关&#xff1a;控制结构综合实训 第一题第二题&#xff08;※&#xff09;第三题&#xff08;※&#xff09;第四题&#xff08;※&#xff09;第五题&#xff08;※&#xff09;第六题&#xff08;※&#xff09; 第一题 #第一题def rankHurricane(velocity):#请在下面编写…

记录|C#的资源路径设置的资料整理

目录 前言一、在这里插入图片描述 https://bbs.csdn.net/topics/360001606 二、三、添加到资源文件中四、获得图片的三种路径方法五、给资源文件添加文件夹更新时间 前言 参考文章&#xff1a; 原本以为C# winform中进行图片等文件的路径的读取是直接可以按照资源文件中显示的来…

【ArcGIS微课1000例】0121:面状数据共享边的修改方法

文章目录 一、共享边概述二、快速的修改办法1. 整形共享边2. 修改边3. 概化边缘一、共享边概述 面状数据共享边指的是两个或多个面状数据(如多边形)共同拥有的边界。在地理信息系统(GIS)、三维建模、大数据分析等领域,面状数据共享边是描述面状空间数据拓扑关系的重要组成…

CORS漏洞及其防御措施:保护Web应用免受攻击

1. 背景- 什么是CORS&#xff1f; 在当今互联网时代&#xff0c;Web 应用程序的架构日益复杂。一个后端服务可能对应一个前端&#xff0c;也可能与多个前端进行交互。跨站资源共享&#xff08;CORS&#xff09;机制在这种复杂的架构中起着关键作用&#xff0c;但如果配置不当&…

Django学习实战篇五(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 本章中&#xff0c;我们开始引入前端框架Bootstrap 来美化界面。在前面的章节中&#xff0c;我们通过编写后端代码来处理数据。数据之于网站&#xff0c;就相当于灵魂之于人类。而网站的前端就相当于人的形体外貌。其中HTML是骨架&#xff0c;而CSS是皮肤&…

Thymeleaf模版引擎

Thymeleaf是面向Web和独立环境的现代服务器端Java模版引擎&#xff0c;能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymeleaf旨在提供一个优雅的、高度可维护的创建模版的方式。为了实现这一目标&#xff0c;Thymeleaf建立在自然模版的概念上&#xff0c;将其逻辑注入到模…