【Mysql进阶知识】Mysql 程序的介绍、选项在命令行配置文件的使用、选项在配置文件中的语法
目录
一、程序介绍
二、mysqld--mysql服务器介绍
三、mysql - MySQL 命令行客户端
3.1 客户端介绍
3.2 mysql 客户端选项
指定选项的方式
mysql 客户端命令常用选项
在命令行中使用选项
选项(配置)文件
使用方法
选项文件位置及加载顺序
选项文件语法
使用举例:为所有客户端设置字符编码集
3.3 mysql客户端命令
一、程序介绍
当MySQL安装完成后,除了我们常用的mysql客户端程序,通常还会包含如下程序,本篇博客就来介绍一下常用的一些程序的作用和使用
- Linux系统程序⼀般在 /usr/bin 目录下,可以通过命令查看:
zyq@iZm5egpp4a85g2tfliaeikZ:~$ ll /usr/bin/mysql*
-rwxr-xr-x 1 root root 7681264 Oct 23 20:15 /usr/bin/mysql*
-rwxr-xr-x 1 root root 7519248 Oct 23 20:15 /usr/bin/mysqladmin*
lrwxrwxrwx 1 root root 10 Oct 23 20:15 /usr/bin/mysqlanalyze -> mysqlcheck*
-rwxr-xr-x 1 root root 7992592 Oct 23 20:15 /usr/bin/mysqlbinlog*
-rwxr-xr-x 1 root root 7528208 Oct 23 20:15 /usr/bin/mysqlcheck*
-rwxr-xr-x 1 root root 6617008 Oct 23 20:15 /usr/bin/mysql_config_editor*
-rwxr-xr-x 1 root root 27367 Oct 23 20:15 /usr/bin/mysqld_multi*
-rwxr-xr-x 1 root root 29137 Oct 23 20:15 /usr/bin/mysqld_safe*
-rwxr-xr-x 1 root root 7603760 Oct 23 20:15 /usr/bin/mysqldump*
-rwxr-xr-x 1 root root 7719 Oct 23 20:15 /usr/bin/mysqldumpslow*
-rwxr-xr-x 1 root root 7515472 Oct 23 20:15 /usr/bin/mysqlimport*
-rwxr-xr-x 1 root root 7594928 Oct 23 20:15 /usr/bin/mysql_migrate_keyring*
lrwxrwxrwx 1 root root 10 Oct 23 20:15 /usr/bin/mysqloptimize -> mysqlcheck*
-rwxr-xr-x 1 root root 7972176 Oct 23 20:15 /usr/bin/mysqlpump*
lrwxrwxrwx 1 root root 10 Oct 23 20:15 /usr/bin/mysqlrepair -> mysqlcheck*
-rwxr-xr-x 1 root root 39016 Jun 15 2023 /usr/bin/mysqlreport*
-rwxr-xr-x 1 root root 7503440 Oct 23 20:15 /usr/bin/mysql_secure_installation*
-rwxr-xr-x 1 root root 7514096 Oct 23 20:15 /usr/bin/mysqlshow*
-rwxr-xr-x 1 root root 7533104 Oct 23 20:15 /usr/bin/mysqlslap*
-rwxr-xr-x 1 root root 6639024 Oct 23 20:15 /usr/bin/mysql_ssl_rsa_setup*
-rwxr-xr-x 1 root root 6535344 Oct 23 20:15 /usr/bin/mysql_tzinfo_to_sql*
-rwxr-xr-x 1 root root 7615728 Oct 23 20:15 /usr/bin/mysql_upgrade*
- windows系统目录:你的安装路径 \MySQL Server 8.0\bin,可以通过命令查看:
C:\Program Files\MySQL\MySQL Server 8.0\bin>dir *.exe
2024/07/12 14:32 6,423,112 ibd2sdi.exe
2024/07/12 14:32 6,412,880 innochecksum.exe
2024/07/12 14:32 6,354,008 lz4_decompress.exe
2024/07/12 14:32 6,662,216 myisamchk.exe
2024/07/12 14:32 6,505,040 myisamlog.exe
2024/07/12 14:32 6,566,992 myisampack.exe
2024/07/12 14:32 6,544,464 myisam_ftdump.exe
2024/07/12 14:32 7,126,600 mysql.exe
2024/07/12 14:32 7,013,456 mysqladmin.exe
2024/07/12 14:32 7,397,456 mysqlbinlog.exe
2024/07/12 14:32 7,019,088 mysqlcheck.exe
2024/07/12 14:32 54,027,336 mysqld.exe
2024/07/12 14:32 7,086,160 mysqldump.exe
2024/07/12 14:32 7,005,264 mysqlimport.exe
2024/07/12 14:32 7,521,352 mysqlpump.exe
2024/07/12 14:32 7,544,912 mysqlrouter.exe
2024/07/12 14:32 6,314,080 mysqlrouter_keyring.exe
2024/07/12 14:32 6,285,408 mysqlrouter_passwd.exe
2024/07/12 14:32 6,269,544 mysqlrouter_plugin_info.exe
2024/07/12 14:32 7,003,728 mysqlshow.exe
2024/07/12 14:32 7,022,160 mysqlslap.exe
2024/07/12 14:32 6,302,304 mysql_config_editor.exe
2024/07/12 14:32 7,095,392 mysql_migrate_keyring.exe
2024/07/12 14:32 6,999,664 mysql_secure_installation.exe
2024/07/12 14:32 6,327,392 mysql_ssl_rsa_setup.exe
2024/07/12 14:32 6,234,208 mysql_tzinfo_to_sql.exe
2024/07/12 14:32 7,098,968 mysql_upgrade.exe
2024/07/12 14:32 6,287,968 my_print_defaults.exe
2024/07/12 14:32 7,180,872 perror.exe
2024/07/12 14:32 6,253,656 zlib_decompress.exe
下面是一些常用的程序简介,如果还想了解其他的程序可以到官网中查看
程序名 | 简介 |
mysqld | MySQL的守护进程即MySQL服务器,要使用MySQL服务器,mysqld必须正在运行状态 |
mysql | MySQL客户端程序,用于交互式输入SQL语句或以批处理模式从文件执行SQL的命令行工具。 |
mysqlcheck | 用于检查、修复、分析和优化表的表维护客户端 |
mysqldump | 将MySQL数据库转储到SQL、文本或XML文件中的客户端 |
mysqlimport | 将文本文件导入到表的客户端工具 |
mysqladmin | 执行管理操作的客户端,例如创建或删除数据库、重新加载授权表、将表刷新到磁盘以及重新打开日志文件。Mysqladmin还可以用于从服务器检索版本、进程和状态信息 |
mysqlshow | 显示数据库、表、列和索引信息的客户端 |
mysqldumpslow | 用于读取和汇总慢速查询日志内容的实用程序 |
mysqlbinlog | 从二进制日志中读取SQL语句的实用程序。mysqlbinlog文件中包含的已执行SQL语句的日志,可用于从崩溃中恢复数据 |
mysqlslap | 客户端负载工具,模拟多个客户端同时访问MySQL服务器,并报告每个阶段的使用时间二 |
二、mysqld--mysql服务器介绍
MySQL服务器,也被称为mysqld,是一个多线程程序,对数据目录进行访问管理,数据目录包含数据库和表。数据目录也是其他信息,如日志文件和状态文件的默认存储位置。
当MySQL服务器启动时,会侦听指定的端口、处理来自客户端程序的网络连接,并管理不同客户端对数据库的访问。
mysqld程序有许多选项可以在启动时指定。运行以下命令查看完整的选项列表:
mysqld --verbose --help
三、mysql - MySQL 命令行客户端
3.1 客户端介绍
MySQL是一个简单的SQL shell,可以输入命令和执行SQL语句,当执行SQL语句时,查询结果以ASCII表格式显示。
MySQL的基本使用非常简单,回顾一下连接数据库的方式,打开终端并输入以下命令:
# 连接MySQL服务器,⻓选项格式
mysql --user=user_name --password [db_name]
# 短选项格式
mysql -uuser_name -p [db_name]
# 输⼊密码
Enter password: your_password
3.2 mysql 客户端选项
指定选项的方式
指定选项的方式有三种,分别是
- 在mysql后面的命令行中列出选项
- 在mysql后面指定配置文件的路径,以便在程序启动时读取配置文件中的选项。
- 使用环境变量中的选项。
我们后面主要介绍第一种和第二种方式。接下来我们了解一下都有些什么选项
mysql 客户端命令常用选项
选项长格式 | 选项短格式 | 说明 |
--host | -h | --host=host_name , -hhost_name 连接到指定主机上的MySQL服务 |
--port | -P | --port=port_num , -Pport_num TCP/IP连接使用的端口号 |
--user | -u | --user=user_name , -uuser_name 用于连接到MySQL服务器的用户名 |
--password | -p | --password[=password] , -p[password] 用于连接到MySQL服务器的密码。可选,如果没有给出,会提示用户输入 |
--defaults-file | --defaults-file=file_name 使用指定的选项文件。如果该文件不存在,则会发生错误 | |
--default-character-set | --default-character-set=charset_name charset_name将作为客户端和当前连接的默认字符集,例:utf8mb4 | |
--database | -D | --database=db_name , -Ddb_name 要使用的数据库 |
--compress | -C | --compress , -C 如果可能,压缩客户端和服务器之间传输的所有信息 |
--reconnect | --reconnect 如果客户端与服务器的连接丢失,自动尝试重新连接 | |
--quick | -q | --quick , -q 不缓存查询结果,收到一行打印一行,如果输出被挂起,可能会降低服务器速度 |
--protocol | --protocol={TCP|SOCKET|PIPE|MEMORY} 用于连接到服务器的传输协议,默认为TCP | |
--delimiter | --delimiter=str 设置SQL语句分隔符。默认值为分号(;) | |
--execute | -e | --execute=statement , -estatement 执行指定的SQL语句并退出 |
--version | -V | --version , -V 显示版本信息并退出 |
--help | -? | --help , -? 显示帮助信息并退出 |
ps:如果选项输入中包含空格,需要包含在" "中
在命令行中使用选项
在命令行要遵循以下规则:
- 选项应在程序名之后给出。
- 选项以单破折号“-”或双破折号“--”开头,“-”表示短格式,“--”表示长格式,例如:-?和--help都表示MySQL程序显示他的帮助消息。
mysql -?
mysql --help
- 选项名称区分大小写。-v和-V都是合法的,但含义不同,它们分别是--verbose和--version选项的相应缩写形式。
# 以下两个等价
mysqld --verbose --help
mysqld -v -?
# 以下两个等价
mysql --version
mysql -V
- 某些选项需要在后面指定一个值。例如,-h 127.0.0.1 或 --host=127.0.0.1 表示向客户端程序指定MySQL服务器主机。
mysql -h 127.0.0.1
msyql --host=127.0.0.1
- 对于带值的长格式选项,通常用=符号分隔选项名称和值。对于带值的短选项,选项值可以紧跟在选项之后,也可以用空格隔开,例如:--host=127.0.0.1、-h127.0.0.1和-h 127.0.0.1是等价的。但是对于密码选项的短格式,如果要指定密码,选项与值之间不能有空格,如下所示:
mysql -ptest # test表⽰密码,但没有指定要访问的数据库
mysql -p test # test 表⽰指定了访问的数据库,但没有指定密码
ps:在命令行中,第一个不带破折号 - 的值被解析为要访问的数据库名,所以--database选项一般可以省略。
- 在选项名称中,破折号“-”和下划线“_”在大多数情况下可以互换使用,但前导破折号不能转为下划线,例如:--skip-grant-tables和--skip_grant_tables是等价的。
- 对于采用数值的选项,该值可以带有后缀K、M或G以指示乘数1024、1024²或1024³,例如,以下命令告诉mysqladmin对服务器执行1024次ping,每次ping之间休眠3秒。
mysqladmin --count=1K --sleep=3 ping -uroot -p
- 在命令行中包含空格的选项值必须用引号引起来。例如,--execute(或-e)选项与mysql一起使用时,表示将一个或多个SQL语句发送给服务器执行并显示结果。
mysql -u root -p -e "SELECT VERSION();SELECT NOW();"
选项(配置)文件
大多数MySQL程序都可以从选项文件(配置文件)中读取启动选项。可以在选项文件中指定常用选项,这样就不必在每次运行程序时都在命令行中输入它们。大部分选项文件都是纯文本格式,可以使用任何文本编辑器创建。
使用方法
选项 --defaults-file 可以指定要使用的选项文件,客户端程序会读取并应用选项文件中的相关配置
# Linux
mysql --defaults-file=/etc/mysql/my.cnf -uroot -p
# windows下
mysql "--defaults-file=C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" -uroot -p
选项文件位置及加载顺序
MySQL 按以下表格中的顺序查找并读取选项文件。如果文件不存在则需要手动创建。 读取顺序从上到下,后读取的文件中配置的选项优先级越高,也就是说后续读取选项的值会覆盖之前的选项值
在 Windows 系统读取选项文件
文件名 | 说明 |
%WINDIR%\my.ini,<br>%WINDIR%\my.cnf | 全局 |
C:\my.ini,<br>C:\my.cnf | 全局 |
BASEDIR\my.ini,<br>BASEDIR\my.cnf | 全局 |
defaults-extra-file | 如果存在其他选项文件可以通过--defaults-extra-file选项指定 |
%APPDATA%\MySQL.mylogin.cnf | 登录路径选项(仅限客户端) |
DATADIR\mysqld-auto.cnf | 系统变量(仅限服务器) |
- %WINDIR% 表示 Windows 目录的位置,可以通过命令查看:
C:\Users\zyq>echo %WINDIR%
# 以下是结果
C:\Windows
- BASEDIR 表示 MySQL 的安装目录:
D:\Program Files\MySQL\MySQL Server 8.0
- %APPDATA% 表示应用程序数据的目录:
C:\Users\zyq>echo %APPDATA%
# 以下是结果
C:\Users\zyq\AppData\Roaming
- DATADIR 代表MySQL数据目录:
C:\ProgramData\MySQL\MySQL Server 8.0
使⽤ MySQL Installer 安装MySQL成功后,my.ini 默认在该⽬录下。
在 Unix 和 Linux 系统上读取的选项文件
文件名 | 说明 |
/etc/my.cnf | 全局 |
/etc/mysql/my.cnf | 全局 |
$MYSQL_HOME/my.cnf | 服务器特定选项(仅限服务器) |
defaults-extra-file | 如果存在其他选项文件可以通过--defaults-extra-file选项指定 |
~/.my.cnf | 用户特定选项 |
~/.mylogin.cnf | 用户特定的登录路径选项(仅限客户端) |
DATADIR/mysqld-auto.cnf | 系统变量(仅限服务器) |
- ~ 表示当前用户的主目录。
- MYSQL_HOME 是设置的环境变量路径。
- DATADIR 代表 MySQL 数据目录
选项文件语法
运行MySQL程序时在命令行上指定的任何长选项都可以在选项文件中指定,要获取选项列表可以使用如下命令。
# 客⼾端程序
root@guangchen-vm:~# mysql --help
# 服务端程序
root@guangchen-vm:~# mysqld --verbose --help
接下来是在文件中设置选项的语法介绍:
- 选项文件中指定选项时,省略两个前导破折号,并且每⼀行表示⼀个选项,例如 --quick 和 --host=127.0.0.1 在选项文件中应表示成
quick
host=127.0.0.1
- #comment , ;comment 注释行以 # 或 ; 开,注释可以从⼀行的中间开始
- [ group ] 设置选项的程序或组的名称,不区分大小写。如果选项组名称与程序名称相同,则组中的选项专门应用于该程序,例如,[mysqld] 和 [mysql] 组分别适用于 mysqld 服务端程序和 mysql 客户端程序。假设有一个 MySQL 的配置文件,其内容可能如下所示:
[mysqld] # 服务端配置 port = 3306 datadir = /var/lib/mysql socket = /var/lib/mysql/mysql.sock[mysql] # 客户端配置 auto-rehash = 1 default-character-set = utf8mb4
- opt_name 相当于命令行上的选项名。
- opt_name = value 选项名对应的值,可以使用转义序列 \b、\t、\n、\r、\ 和 \s 来表示退格符、制表符、换行符、回车符、反斜杠和空格字符。
- [client] MySQL 发行版中所有客户端程序都会读取并应用这个组下的选项(除了 mysqld),在这个组下可以指定适用于所有客户端程序的通用选项,例如配置用户名和密码(但要确保只有自己才可以访问这个文件以防止密码泄漏)。
# 在当前⽤⼾的home⽬录下创建.my.cnf,并在[client]写⼊公共配置 # 这⾥主要设置⽤了主机、端⼝、⽤⼾名、密码 root@guangchen-vm:~# vim .my.cnf [client] host=127.0.0.1 port=3306 user=root password=123456 # 直接运⾏mysql,不⽤输⼊⽤⼾名密码可以直接成功登录 root@zyq-vm:~# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 8.0.34 MySQL Community Server - GPL Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
- 可以通过 [客户端程序名] 的形式为不同的客户端程序指定选项,例如 [mysql],当运行 mysql 程序时会读取并应用该组下的配置,如果选项名与 [client] 重复,[client] 中的选项将会被覆盖。
root@zyq:~# cat .my.cnf
[client]
host=127.0.0.1
port=3306
user=root
password=123456# 设置为必须输⼊密码
[mysql]
passwordroot@guangchen-vm:~# mysql
Enter password: # 强制要求登录时输⼊密码 Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.34 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
mysql>
- 为特定 MySQL 版本设置选项可以使用 [mysqld-5.7]、[mysqld-8.0] 的组名。
- 在选项文件中使用 ! included 指令来包含其他选项文件,例如:
!include /home/mydir/myopt.cnf
- 在选项文件中使用 ! includedir 指令来搜索指定目录中的选项文件,例如:
!includedir /home/mydir
,但不保证目录中选项文件的读取顺序。
- ! includedir 在 Unix 和 Linux 操作系统中会搜索指定目录下任何以 .cnf 为后缀的文件。在 Windows 中,会搜索指定目录下任何以 .ini 或 .cnf 为后缀的文件。
- 只会读取包含文件中当前客户端的组配置,例如当前运行的是 mysql 程序,那么只会读取
[mysql]
组中的选项配置。
- 在 Windows 中请确保在配置文件的最后一行加一个换行符,否则该行将被忽略
注意:
- 选项名称和值中的前导和尾随空格会自动删除。
- 在 Windows 系统中设置路径应该使用转义字符,所以建议不管在什么系统下都使用第二种方式
basedir="C:\\Program Files\\MySQL\\MySQL Server 8.0"
# 或
basedir="C:/Program Files/MySQL/MySQL Server 8.0"
使用举例:为所有客户端设置字符编码集
在Linux下编辑全局配置文件默认位置 /etc/mysql/my.cnf ,初始内容如下:
root@guangchen-vm:~# vim /etc/mysql/my.cnf
# Copyright (c) 2015, 2023, Oracle and/or its affiliates.
#
# ... 省略
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
# 以下区域可以根据需要进⾏配置
在已有内容下方输入相应的配置,我们要为客户端设置全局的编码格式为utf8mb4,那么在 [client] 节点下指定相应的选项即可
[client] # 所有客⼾端程序者会读取这个节点下的配置信息
default-character-set=utf8mb4 # 指定编码格式为utf8mb4
3.3 mysql客户端命令
- 使用 mysql客户端程序连接到数据库服务器之后,可以发送SQL语句到服务器执行,并以 ";"(分 号)、\g 或 \G结束
1. `;` 与 `\g` 结束表示以表格形式显示结果。
2. `\G` 结束表示以行形式显示结果(当我们查询出内容发现很乱不好看可以以行打印)
3. 如果当前已经输入了一部分 SQL 语句想重新输入可以输入 `Control+C` 中断当前输入。
- 在当前模式下,mysql还有⼀组自己的命令,可以输入 help or \h 查看命令列表
mysql> help
For information about MySQL products and services, visit:http://www.mysql.com/
For developer information, including the MySQL Reference Manual, visit:http://dev.mysql.com/
To buy MySQL Enterprise support, training, or other products, visit:https://shop.mysql.com/
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing
binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.
resetconnection(\x) Clean session context.
query_attributes Sets string parameters (name1 value1 name2 value2 ...) for
the next query to pick up.
ssl_session_data_print Serializes the current SSL session data to stdout or
file
For server side help, type 'help contents'
- 使用 help contents命令可以查看关于MySQL数据库使用的具体帮助,包括用户管理、SQL语法、 数据类型、组件等相关内容列表
mysql> help contents
You asked for help about help category: "Contents"
For more information, type 'help <item>', where <item> is one of the following
categories:Account ManagementAdministrationComponentsCompound StatementsContentsData DefinitionData ManipulationData TypesFunctionsGeographic FeaturesHelp MetadataLanguage StructureLoadable FunctionsPluginsPrepared StatementsReplication StatementsStorage EnginesTable MaintenanceTransactionsUtility
- 通过 help contents中的具体条目查看介绍,例如: help Data Types
mysql> help Data Types # 这⾥说明要查看关于数据类型的帮助信息
You asked for help about help category: "Data Types"
For more information, type 'help <item>', where <item> is one of the following
topics:AUTO_INCREMENTBIGINTBINARYBITBLOBBLOB DATA TYPEBOOLEANCHARCHAR BYTEDATEDATETIMEDECDECIMALDOUBLEDOUBLE PRECISIONENUMFLOATINTINTEGERLONGBLOBLONGTEXTMEDIUMBLOBMEDIUMINTMEDIUMTEXTSET DATA TYPESMALLINTTEXTTIMETIMESTAMPTINYBLOBTINYINTTINYTEXTVARBINARYVARCHARYEAR DATA TYPE
- 继续输入help 具体的条目查看关于此条目的详细说明,例如:help BIT
mysql> help BIT # 以下显⽰关于BIT数据类形的具体描述
Name: 'BIT'
Description:
BIT[(M)]
A bit-value type. M indicates the number of bits per value, from 1 to
64. The default is 1 if M is omitted.
URL: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html
相关文章:
【Mysql进阶知识】Mysql 程序的介绍、选项在命令行配置文件的使用、选项在配置文件中的语法
目录 一、程序介绍 二、mysqld--mysql服务器介绍 三、mysql - MySQL 命令行客户端 3.1 客户端介绍 3.2 mysql 客户端选项 指定选项的方式 mysql 客户端命令常用选项 在命令行中使用选项 选项(配置)文件 使用方法 选项文件位置及加载顺序 选项文件语法 使用举例&am…...
代码随想录算法训练营总结
本人是一名普普通通的计算机专业的毕业生,在大学学数据结构和算法就感觉非常难,到毕业也没刷过几道题,所幸后来入职的公司也没有考察算法相关的内容。到现在已经工作两年多了,看到过许多聊面试聊算法的文章,也接触到一…...
二进制/源码编译安装mysql 8.0
二进制方式: 1.下载或上传安装包至设备: 2.创建组与用户: [rootopenEuler-1 ~]# groupadd mysql [rootopenEuler-1 ~]# useradd -r -g mysql -s /bin/false mysql 3.解压安装包: tar xf mysql-8.0.36-linux-glibc2.12-x86_64.ta…...
AI 编程工具—Cursor进阶使用 阅读开源项目
AI 编程工具—Cursor进阶使用 阅读开源项目 首先我们打开一个最近很火的项目browser-use ,直接从github 上克隆即可 索引整个代码库 这里我们使用@Codebase 这个选项会索引这个代码库,然后我们再选上这个项目的README.md 文件开始提问 @Codebase @README.md 这个项目是用…...
掌握C语言内存布局:数据存储的智慧之旅
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 目录 引言正文一、数据类型介绍1.内置类型2.自定义…...
一键化配置java环境
一键化配置java环境 下载javaPathConfig 打开,将java的jdk路径写进去 例如我的路径就是 C:\Program Files\Java\jdk-1.8点击确认设置即可...
【I/O编程】UNIX文件基础
IO编程的本质是通过 API 操作 文件。 什么是 IO I - Input 输入O - Output 输出 这里的输入和输出都是站在应用(运行中的程序)的角度。外部特指文件。 这里的文件是泛指,并不是只表示存在存盘中的常规文件。还有设备、套接字、管道、链接…...
leetcode 面试经典 150 题:汇总区间
链接汇总区间题序号228题型数组解法一次遍历法难度简单熟练度✅✅✅ 题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属…...
联想Android面试题及参考答案
请介绍一下 Android 的架构,并谈谈对 Linux 的了解。 Android 架构主要分为四层,从下往上依次是 Linux 内核层、系统运行库层、应用框架层和应用层。 Linux 内核层是 Android 系统的基础。它提供了底层的硬件驱动程序,包括显示驱动、摄像头驱动、音频驱动等多种硬件设备的驱…...
redux 结合 @reduxjs/toolkit 的使用
1,使用步骤 使用React Toolkit 创建 counterStore(store目录下) --> 为React注入store(src下面的index) --> React组件使用store中的数据(组件) 2,例如下面有一个简单加减的…...
【鱼皮大佬API开放平台项目】Spring Cloud Gateway HTTPS 配置问题解决方案总结
问题背景 项目架构为前后端分离的微服务架构: 前端部署在 8000 端口API 网关部署在 9000 端口后端服务包括: api-backend (9001端口)api-interface (9002端口) 初始状态: 前端已配置 HTTPS(端口 8000)后端服务未配…...
PHP反序列化
一、PHP面向对象的基础知识 基本概念 1、面向过程VS面向对象 以做饭为例,面向过程是自己从原材料到成品全部自己做,面向对象相当于去饭店,点菜,等待结果(上菜)。 2、类的定义 类是定义了一件事物的抽象…...
6、原来可以这样理解C语言_函数(7/8)嵌套调⽤和链式访问
目录 七、嵌套调⽤和链式访问 七、(1)、嵌套调⽤ 七、(2)、链式访问 七、嵌套调⽤和链式访问 七、(1)、嵌套调⽤ 嵌套调⽤就是函数之间的互相调⽤,每个函数就⾏⼀个乐⾼零件,正是因…...
安装 Jenkins 后无法访问用户名或密码且忘记这些凭证怎么办?
Jenkins 是一款功能强大的自动化服务器,在持续集成与交付(CI/CD)领域应用广泛。不过,用户在使用过程中,尤其是首次接触该系统或系统重启后,常常会遇到登录方面的问题。要是 Jenkins 突然要求输入用户名和密…...
VIVADO FIFO (同步和异步) IP 核详细使用配置步骤
VIVADO FIFO (同步和异步) IP 核详细使用配置步骤 目录 前言 一、同步FIFO的使用 1、配置 2、仿真 二、异步FIFO的使用 1、配置 2、仿真 前言 在系统设计中,利用FIFO(first in first out)进行数据处理是再普遍不过的应用了,…...
49_Lua调试
Lua提供了debug库用于创建自定义调试器,尽管Lua本身没有内置的调试器1。这个库允许开发者在程序运行时检查和控制执行流程,这对于开发过程中的错误查找和修复非常有用。 1.Debug库概述 debug库提供的函数可以分为两类:自省函数(introspection functions)和钩子函数(hoo…...
SR-BE 笔记和实验
一、笔记: SR不需要mpls,但要配置 mpls lsr-id 不需要MPLS LDP分标签,但仍然需要依赖IGP来分标签 fish—TE问题 SPF:Shortest Path First 最短路径算法 CSPF:Constrained SPF 受约束的SPF算法 BGP-LS: SR…...
实力认证 | 海云安入选《信创安全产品及服务购买决策参考》
近日,国内知名安全调研机构GoUpSec发布了2024年中国网络安全行业《信创安全产品及服务购买决策参考》,报告从产品特点、产品优势、成功案例、安全策略等维度对各厂商信创安全产品及服务进行调研了解。 海云安凭借AI大模型技术在信创安全领域中的创新应用…...
pytorch张量分块投影示例代码
张量的投影操作 背景 张量投影 是深度学习中常见的操作,将输入张量通过线性变换映射到另一个空间。例如: Y=W⋅X+b 其中: X: 输入张量(形状可能为 (B,M,K),即批量维度、序列维度、特征维度)。W: 权重矩阵((K,N),将 K 维投影到 N 维)。b: 偏置向量(可选,(N,))。Y:…...
Elasticsearch二次开发:实现实时定时同步同义词、近义词与停用词
Elasticsearch二次开发:实现实时定时同步同义词、近义词与停用词 引言 Elasticsearch(ES)作为开源搜索引擎的典范,以其强大的全文搜索、结构化搜索以及分析能力,在各个领域得到了广泛应用。在复杂的搜索场景中&#…...
Linux 常用文件查看命令
目录 cat 命令:连接与查看 more/less 命令:分页查看 tail 命令:实时追踪 cat 命令:连接与查看 基本功能:用于连接文件并打印到标准输出设备上,常用于查看文件内容。当有多个文件作为参数时,会…...
智能家居篇 一、Win10 VM虚拟机安装 Home Assistant 手把手教学
智能家居篇 一、Win10 VM虚拟机安装 Home Assistant 手把手教学 文章目录 [智能家居篇]( )一、Win10 VM虚拟机安装 Home Assistant 手把手教学 前言一.下载Vm版本的HomeAsistant安装包 二.打开Vmware选择新建虚拟机1.选择自定义高级2.选择16.x及以上3.选择稍后安装4.根据官网的…...
端口镜像和端口安全
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网络安全从菜鸟到飞鸟的逆袭 目录 一,端口镜像二…...
打造更安全的Linux系统:玩转PAM配置文件
在Linux系统中,用户认证是确保系统安全的关键步骤。PAM(可插拔认证模块)为我们提供了一个非常灵活的框架,帮助我们管理各种服务的认证过程。其中,/etc/pam.d目录是PAM配置的核心部分,这里存放了每个服务所需…...
猫咪智商相当于人的几岁?
猫咪,这个神秘又高冷的物种,总能让我们又爱又恨。它们时而撒娇卖萌,时而独立自主,让人琢磨不透。那么,问题来了,猫咪的智商到底相当于人的几岁呢?今天,就来给大家好好揭秘一下喵星人…...
软件设计大致步骤
由于近期在做软件架构设计,这里总结下大致的设计流程 软件设计流程 1 首先要先写系统架构图,将该功能在整个系统的位置以及和大致的内部模块划分 2 然后写内部的结构图,讲内部的各个子系统,模块,组件之间的关系和调用…...
Elasticsearch入门学习
Elasticsearch是什么 Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储和矢量数据库。 它针对生产规模工作负载的速度和相关性进行了优化。 使用 Elasticsearch 近乎实时地搜索、索引、存储和分析各种形状和大小的数据。 特点 分布式&a…...
Mac安装配置使用nginx的一系列问题
brew安装nginx https://juejin.cn/post/6986190222241464350 使用brew安装nginx,如下命令所示: brew install nginx 如下图所示: 2.查看nginx的配置信息,如下命令: brew info nginxFrom:xxx 这样的,是n…...
Elasticsearch Python 客户端是否与自由线程 Python 兼容?
作者:来自 Elastic Quentin_Pradet 在这篇文章中,我们将进行一些实验,看看 Python Elasticsearch 客户端是否与新的 Python 3.13 自由线程(free-threading)版本兼容,其中 GIL 已被删除。 介绍 但首先&…...
ROS2 的所有控制台命令
以下是 ROS2 的控制台命令: 编译 colcon是ros的构建工具 sudo apt install python3-colcon-common-extensions 如只编译 turn_robot colcon build --packages-select turn_robot 编译全部功能包 colcon build source source /home/sukai/turn_robot/install…...
深入理解 Entity、VO、QO、DTO 的区别及其在 MVC 架构中的应用
文章背景 在现代软件开发中,我们经常会接触到各种数据结构的概念,比如 Entity、VO(Value Object)、QO(Query Object)、DTO(Data Transfer Object)等。这些概念尽管看似相似ÿ…...
角色认知培训
课程记录 需求传达的时候先强调重点,理清需求的过程中,大家一起分析 一开始单线程,总结复盘,提升效率,变成多线程 心态 2、复盘能力,每次优化策略 优化 团结、执行、 3、 头马的理解? 小…...
记录一次微信小程序使用云能力开发的过程
对于开发微信小程序云开发不知从何起的同学们,可以当作一次参考。虽说官方有文档,有模板示例,但是这些都是片段或者完整的结果展示。对于初学或者开发经验较少的同学们,可能不知先从那里入手进行第一步的开发。下面解析下构建微信…...
vim将一行行尾倒数第三个字符替换成1
%s/\v(.)(.)(.)(.)$/1\2\3\4\v:very magic模式,可以省略转义符 (.):圆括号的分组功能,将括号匹配内容放到第一个寄存器里面,第二个括号匹配内容放到第二个寄存器里面。 $:匹配行尾字符 \2:第二个括号匹配内容 \3:第三个…...
Kafka权威指南(第2版)读书笔记
目录 Kafka生产者——向Kafka写入数据生产者概览创建Kafka生产者bootstrap.serverskey.serializervalue.serializer 发送消息到Kafka同步发送消息异步发送消息 生产者配置client.idacks消息传递时间max.block.msdelivery.timeout.msrequest.timeout.msretries 和retry.backoff.…...
Yolov8 目标检测剪枝学习记录
最近在进行YOLOv8系列的轻量化,目前在网络结构方面的优化已经接近极限了,所以想要学习一下模型剪枝是否能够进一步优化模型的性能 这里主要参考了torch-pruning的基本使用,v8模型剪枝,Jetson nano部署剪枝YOLOv8 下面只是记录一个…...
5G+工业互联网迈入规模化发展新阶段
百度安全验证 https://blog.csdn.net/qq_25467441/article/details/145036191?sharetypeblogdetail&sharerId145036191&sharereferPC&sharesourceqq_25467441&spm1011.2480.3001.8118 好看视频-轻松有收获 产业供给加速提升。国内主流模组厂商引领全球5G模组…...
WOA-Transformer鲸鱼算法优化编码器时间序列预测(Matlab实现)
WOA-Transformer鲸鱼算法优化编码器时间序列预测(Matlab实现) 目录 WOA-Transformer鲸鱼算法优化编码器时间序列预测(Matlab实现)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现WOA-Transformer鲸鱼算法优化编…...
「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程(配套案例数据)》专栏上线了
「刘一哥GIS」系列专栏《GRASS GIS零基础入门实验教程》全新上线了,欢迎广大GISer朋友关注,一起探索GIS奥秘,分享GIS价值! 本专栏以实战案例的形式,深入浅出地介绍了GRASS GIS的基本使用方法,用一个个实例讲…...
Spring boot面试题---- Spring boot项目运行原理
1.启动流程概述 Spring Boot 的启动是从一个带有main方法的主类开始的。这个主类通常会有一个@SpringBootApplication注解。这个注解是一个组合注解,它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan。@Configuration注解表明这个类是一个配置类,它可以定义…...
HTML基础与实践
目录 HTML 结构 认识 HTML 标签 HTML 文件基本结构 标签层次结构 快速生成代码框架 HTML 常见标签 注释标签 标题标签: h1-h6 段落标签: p 换行标签: br 格式化标签 图片标签: img 超链接标签: a 编辑链接的几种形式: 表格标签 基本使用 合并单元格 …...
码编译安装httpd 2.4,测试
下载链接:https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.gz [rootopenEuler-1 ~]# yum install gcc gcc-c make -y [rootopenEuler-1 ~]# ll /root total 9648 -rw-------. 1 root root 920 Jan 10 17:15 anaconda-ks.cfg -rw-r--r-- 1 root root 9872432…...
计算机网络 (45)动态主机配置协议DHCP
前言 计算机网络中的动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是一种网络管理协议,主要用于自动分配IP地址和其他网络配置参数给连接到网络的设备。 一、基本概念 定义:DHCP是一种网络协议…...
赛灵思(Xilinx)公司Artix-7系列FPGA
苦难从不值得歌颂,在苦难中萃取的坚韧才值得珍视; 痛苦同样不必美化,从痛苦中开掘出希望才是壮举。 没有人是绝对意义的主角, 但每个人又都是自己生活剧本里的英雄。滑雪,是姿态优雅的“贴地飞行”,也有着成…...
【计算机体系结构、微架构性能分析】core 与 uncore 分别是哪一些部分?区分 core 和 uncore
在计算机体系结构中,Core 和 Uncore 是描述处理器内部架构的两个重要概念,尤其在多核处理器中更为常见。 1. Core(核心) Core 指的是处理器中的计算核心,是执行指令和处理数据的基本单元。每个核心都包含独立的执行单…...
基于 K-Means 聚类分析实现人脸照片的快速分类
注:本文在创作过程中得到了 ChatGPT、DeepSeek、Kimi 的智能辅助支持,由作者本人完成最终审阅。 在 “视频是不能 P 的” 系列文章中,博主曾先后分享过人脸检测、人脸识别等相关主题的内容。今天,博主想和大家讨论的是人脸分类问题。你是否曾在人群中认错人,或是盯着熟人的…...
Ubuntu更改apache的服务端口
1.介绍 承接上文,上文介绍了如何利用apache快速部署自己的网页,直接访问localhost就能打开网页的界面,这里其实是直接用了Ubuntu的80端口访问,如果我想换一个端口访问呢?应该怎么实现? 这一篇文章就来教你&…...
9.7 visual studio 搭建yolov10的onnx的预测(c++)
1.环境配置 在进行onnx预测前,需要搭建的环境如下: 1.opencv环境的配置,可参考博客:9.2 c搭建opencv环境-CSDN博客 2.libtorch环境的配置,可参考博客:9.4 visualStudio 2022 配置 cuda 和 torch (c)-CSDN博客 3.cuda环境的配置…...
“飞的”点外卖,科技新潮流来袭
一、开篇引入 上个周末,阳光正好,我带着孩子去公园游玩。公园里绿草如茵,花朵绽放,孩子们在草地上嬉笑奔跑,好不快活。玩累了,我们便在草坪上的帐篷里休息。 就在这时,天空中突然传来一阵嗡嗡…...
kubernetes v1.29.XX版本HPA、KPA、VPA并压力测试
序言: 在大型电商、购物、直播活动期间,对于火爆流量的激增,如何保障业务稳定并且做到资源不浪费,自动回收。 场景:kubernetes 原生容器化承载业务流量(非云环境) 方案:kubernetes自…...