很不错的一篇文章,值得点赞收藏,带你全面了解MySQL性能调优、错误代码总结和全局参数配置(持续更新中ing)

news/2024/4/27 22:38:53/文章来源:https://blog.csdn.net/liang921119/article/details/130234255

前言

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
本文主要介绍当前MySQL性能优化+原理+实战,包括以下方面:
已更新文章目录
MySQL遇到的的错误及解决方法
全局参数文件配置详解。
后续希望大家提出宝贵的建议。喜欢的话点赞收藏走一波。如有错误地方,请指出!!!谢谢

在这里插入图片描述

目录

  • 一、已更新文章
    • MySQL安装和配置(保姆级别和全网最详细教程)
    • MySQL的启动关闭原理和实战、及常见的错误排查
    • MySQL字符集和校验规则(史上最全)
    • 是不是史上最全的MySQL用户和权限原理实战你说了算
    • 看了这一篇文章,你还不懂MySQL体系结构,你来找我
  • 二、参数文件详解汇总
    • basedir
    • datadir
    • user
    • socket
    • port
    • log_error
    • server_id
    • innodb_fast_shutdown
    • innodb_force_recovery
    • innodb_data_file_path
    • binlog_cache_size
    • max_binlog_cache_size
    • max_binlog_size
    • skip-grant-tables
    • skip-networking
    • character_set_server
    • default_character_set
    • default_password_lifetime
    • partial_revokes
    • secure_file_priv
    • default_password_lifetime
    • authentication_policy
    • default_authentication_plugin
    • password_history
    • password_reuse_interval
    • password_require_current
    • validate_password
    • wait_timeout & interactive_timeout
  • 三、错误和解决方法汇总
    • ERROR 3118
    • ERROR 1820 (HY000)
    • [ERROR] Could not open file '/data/mysql/my3306/logs/error.log' for error logging: Permission denied
    • [ERROR] unknown variable 'basedi=/usr/local/mysql'
    • [ERROR] Do you already have another mysqld server running on port: 3306
    • [ERROR] Failed to open log (file '/data/mysql/my3306/logs/mysql-bin.000012', errno 2)
    • [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!
    • ERROR 1534
    • ERROR 1133
    • ERROR 1396
    • ERROR 1141
    • ERROR 1819 (HY000)
    • ERROR 3892 (HY000)
    • ERROR 1045 (28000)
    • ERROR 3895 (HY000)
    • ERROR 3955 (HY000)
    • ERROR 4052 (HY000)

一、已更新文章

MySQL安装和配置(保姆级别和全网最详细教程)

点击此处进行跳转

一、版本介绍1.1 安装开发版本还是通用版本(GA)1.2 mysql命名方案
二、mysql安装方式和下载2.1 mysql安装方式2.2 mysql下载
三、mysql安装3.1 前期准备工作3.2 rpm包安装mysql3.3 二进制安装mysql3.4 源码安装mysql(了解)
四、多实例部署4.1 多实例概念4.2 多实例安装(二进制)4.3 mysqld_multi(多实例第二种安装方式)4.4 使用service 控制实例的启停4.5 卸载mysql多实例

MySQL的启动关闭原理和实战、及常见的错误排查

点击此处进行跳转

一、生产中mysqlq启动方式1.1 mysql的启动原理1.2 参数文件的优先级1.3 以server的方式启动mysql(实际启动mysql方式)1.4 mysqld_safe方式启动1.5 mysqld方式启动1.6 systemctl方式启动(CentOS 7)
二、关库2.1 相关参数innodb_fast_shutdown (数据库关闭参数)2.2 相关参数innodb_force_recovery(恢复参数)2.2 关闭mysql多种方式
三、常见的mysql启动失败案例3.1 目录权限3.2 参数问题3.3 配置文件3.4 端口占用3.5 误删二进制文件3.6 undo表空间异常3.7 binlog缓冲异常
四、mysql启动失败的排查方法
五、连接mysql的方式5.1 本地连接5.2 远程连接
六、mysql数据库用户安全策略6.1 数据库的初始化6.2 修改密码6.3 删除无用用户6.4 mysql_secure_installation(推荐使用该方式修改密码)6.5 找回丢失的用户密码

MySQL字符集和校验规则(史上最全)

点击此处进行跳转

一、mysql 字符集和校验规则
二、查看字符集方法2.1 查询字符集方法2.2 查看字符集的校对规则2.3 查询当前数据库设置的字符集2.4 查看当前数据库的校对规则
三、mysql字符设置3.1 字符集设置的层级关系3.2 设置mysql服务器级别的字符集3.3 设置对象字符集
四、字符集案例4.1 常用的字符集汉字占多少字节4.2 大小案例
五、插入中文乱码解决
六、数据库常见的字符集及如何选择字符集
七、生产坏境中,如何避免乱码

是不是史上最全的MySQL用户和权限原理实战你说了算

点击此处跳转

一、访问控制1.1 连接验证(阶段1)1.2 允许的连接1.3 连接的优先级1.4 请求验证(阶段二)
二、用户管理2.1 新增用户2.2 用户修改2.3 删除用户2.4 查看用户
三、密码管理3.1 修改密码(最终版) 3.2 密码策略 3.4 密码插件
四、用户权限管理4.1 权限粒度4.2 显示用户非权限属性4.3 全局级权限4.4 库级别权限4.5 表级权限4.6 列级权限4.7 权限回收4.8 MySQL权限(MySQL 8.0 新特性)
五、角色管理(MySQL 8.0 新特性)5.1 创建角色并授予权限5.2 检查角色权限5.3 撤消角色或角色权限5.4 删除角色
六、资源限制6.1 用户创建指定配额6.2 修改配额

看了这一篇文章,你还不懂MySQL体系结构,你来找我

点击此处跳转

一、网络连接层
二、数据库服务层2.1 连接池2.2 SQL接口2.3 解析器2.4 查询优化器2.5 缓存2.6系统管理和控制工具
三、存储引擎层
四、系统文件层4.1 日志文件4.2 数据文件4.3 配置文件4.4 pid文件4.5 socket文件
小结

二、参数文件详解汇总

在MySQL 8.0 之前的版本中,对于全局变量的修改,其只会影响其内存值,而不会持久化到配置文件中。数据库重启,又会恢复成修改前的值。从8开始,可通过SET PERSIST命令将全局变量的修改持久化到配置文件中。set global命令类似,只不过不会将默认值持久化到配置文件中

在数据库启动时,会首先读取其它配置文件,最后才读取mysqld-auto.cnf文件。不建议手动修改该文件,其有可能导致数据库在启动过程中因解析错误而失败。如果出现这种情况,可手动删除mysqld-auto.cnf文件或将persisted_globals_load变量设置为off来避免该文件的加载。

持久化为默认值可以通过 set persist 全局变量=default进行还原

对于已经持久化了变量,可通过reset persist命令清除掉,注意,其只是清空mysqld-auto.cnf和performance_schema.persisted_variables中的内容,对于已经修改了的变量的值,不会产生任何影响。

但是对于read only 的变量,修改参数后需要重启才能生效

mysql> set persist innodb_log_file_size=2073741824;
ERROR 1238 (HY000): Variable 'innodb_log_file_size' is a read only variablemysql> set persist_only innodb_log_file_size=2073741824;
Query OK, 0 rows affected (0.00 sec)mysql> show variables like 'innodb_log_file_size';
+----------------------+-----------+
| Variable_name        | Value     |
+----------------------+-----------+
| innodb_log_file_size | 104857600 |
+----------------------+-----------+
1 row in set (0.02 sec)mysql> restart ;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'innodb_log_file_size';
No connection. Trying to reconnect...
Connection id:    8
Current database: *** NONE ***
+----------------------+------------+
| Variable_name        | Value      |
+----------------------+------------+
| innodb_log_file_size | 2073034752 |
+----------------------+------------+
1 row in set (0.02 sec)

basedir

软件根位置,一个非持久已读变量

[mysqld]
basedir=/usr/local/mysql

datadir

数据目录位置,一个非持久已读变量

[mysqld]
datadir=/data/mysql/my3306/data

user

数据初始化后,所属的用户

[mysqld]
user=mysql

socket

套接字文件,一个非持久已读变量,对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用,系统默认位置是在/tmp目录下

[mysqld]
socket = /data/mysql/my3306/mysql.sock

port

端口号,一个非持久已读变量,默认3306

[mysqld]
port = 3306

log_error

mysql日志位置,一个非持久已读变量

[mysqld]
log_error=/data/mysql/my3306/logs/error.log

server_id

给mysql服务指定一个id

set persist  server_id  = 2;

innodb_fast_shutdown

数据库关闭参数,在关闭时,参数innodb_fast_shutdown影响着表的存储引擎为InnoDB的行为。该参数可取值为0、1、2,默认值为1

set persist innodb_fast_shutdown  = 1;
  • 0表示在MySQL数据库关闭时,InnoDB需要完成所有的full purge(回收页)和merge insert buffer(合并插入缓冲区),并且将所有的脏页刷新回磁盘。这需要一些时间,有时甚至需要几个小时来完成。如果在进行InnoDB升级时,必须将这个参数调为0,然后再关闭数据库。
  • 1是参数innodb_fast_shutdown的默认值,表示不需要完成上述的full purge和merge insert buffer操作,但是在缓冲池中的一些数据脏页还是会刷新回磁盘。生产环境推荐的参数
  • 2表示不完成full purge和merge insert buffer操作,也不将缓冲池中的数据脏页写回磁盘,而是将日志都写入日志文件。这样不会有任何事务的丢失,但是下次mysql数据库启动时,会进行恢复操作(recovery)。如果写入日志文件出现异常,可能导致数据启动不了。

innodb_force_recovery

恢复参数,一个已读的持久变量,默认值0

set persist_only innodb_force_recovery=0;

当正常关闭mysql数据库时,下次的启动应该是非常“正常”。但是如果没有正常地关闭数据库,如用kill命令关闭数据库,在mysql数据库运行中重启了服务器,或者在关闭数据库时,将参数innodb_fast_shutdown设为2,下次mysql数据库启动时都会对InnoDB存储引擎的表进行恢复操作.

参数innodb_force_recovery影响了整个InnoDB存储引擎恢复的状况。该参数值默认为0,代表当发生需要恢复时,进行所有的恢复操作,当不能进行有效恢复时,如数据页发生了corruption(坏块),mysqL数据库可能发生宕机(crash),并把错误写入错误日志中去。但是,在某些情况下,可能并不需要进行完整的恢复操作,比如在对一个表进行alter table操作时发生意外了,数据库重启时会对InnoDB表进行回滚操作,对于一个大表来说这需要很长时间,可能是几个小时。这时用户可以自行进行恢复,例如把表删除,从备份中重新导入数据到表,可能这些操作的速度要远远快于回滚操作。

参数innodb_force_recovery还可以设置为6个非零值:1到6。大的数字表示包含了前面所有小数字表示的影响。具体情况如下:

  • 1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
  • 2(SRV_FORCE_NO_BACKGROUND):阻止Master Thread线程的运行,如MasterThread线程需要进行full purge(完整清理)操作,而这会导致crash。
  • 3(SRV_FORCE_NO_TRX_UNDO):不进行事务的回滚操作。
  • 4(SRV_FORCE_NO_IBUF_MERGE):不进行插入缓冲的合并操作。
  • 5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看撤销日志(Undo Log),InnoDB存储引擎会将未提交的事务视为已提交。
  • 6(SRV_FORCE_NO_LOG_REDO):不进行前滚的操作。

建议:生产环境只能设置为0。即遇到故障,系统就要自动进行所有恢复操作。如果启动不了,就调整该参数进行数据库的调整。

innodb_data_file_path

共享表空间ibdata1里保存元数据信息、insert buffer、double write、undo、回滚指针,在初始化数据库之前设置innodb_data_file_path的大小。重新修改配置文件中innodb_data_file_path的大小,必须是小于默认的大小(12M)或者等于默认的大小,是一个非持久已读变量

[mysqld]
innodb_data_file_path=ibdata1:12M:autoextend

binlog_cache_size

binlog缓存根据实际情况调大

[mysqld]binlog_cache_size = 128M

max_binlog_cache_size

最大binlog缓存根据实际情况调大

[mysqld]
max_binlog_cache_size = 512M

max_binlog_size

最大max_binlog日志根据实际情况调大

[mysqld]
max_binlog_size=512M

skip-grant-tables

跳过密码验证,忘记root密码,可使用该参数,一般配合skip-networking参数一起使用

[mysqld]
skip-grant-tables

skip-networking

禁止远程连接

[mysqld]
skip-networking

character_set_server

服务端字符集设置,需要重启才能生效,影响的是character_set_server character_set_database 以及表的字符集

[mysqld]
character_set_server=utf8 

default_character_set

客户端字符集设置,不需要重启,就能影响。它影响的参数是:character_set_client character_set_connection character_set_results ,如果有别的客户端没有配置,也是根据别的客服端的设置

[client]
default_character_set=utf8 

default_password_lifetime

设置密码过期的全局参数,最大值65535天,当创建用户或者修改用户密码策略为非默认过期时间,该参数失效

[mysql]
default_password_lifetime=180

partial_revokes

从MySQL 8.0.16开始,MySQL推出了一种部分权限回收(Partial Revokes)的功能,可以将粗粒度赋予的权限在细粒度上回收。要使用这个功能需要将系统参数 partial_revokes 设置成 on,这个参数默认是 off,即默认不允许使用部分权限回收功能,在使用时会遇到下面的错误

set persist partial_revokes = ON;

secure_file_priv

MySQL中的一个非持久已读变量,用于限制LOAD DATA INFILE和SELECT … INTO OUTFILE语句的文件读写权限。它指定了允许从哪个目录中读取或写入文件,

[mysqld]
secure_file_priv = /tmp/;

default_password_lifetime

密码过期时间,是一个全局变量,可以通过set global设置,意味着服务器重启,该变量失效,可以在my.cnf文件中指定实现持久化

[mysqld]
default_password_lifetime=180

default_password_lifetime=180 密码有效期为6个月,最大值65535
default_password_lifetime=0 默认是0,密码永不过期

authentication_policy

管理用户的身份认证,多因素身份认证中使用

set persist authentication_policy='sha256_password,,';

default_authentication_plugin

该参数文件是指定密码插件,一个非持久已读变量,mysql 8版本默认caching_sha2_password,mysql 5.7默认mysql_native_password

[mysqld]
default_authentication_plugin=mysql_native_password

此参数也可以不设置,在创建用户时需要手动指定

CREATE USER 'user'@'host' IDENTIFIED by 'password' WITH 'mysql_native_password'

password_history

最近密码保留次数

set persist password_history=3;

password_reuse_interval

最近使用的密码保留天数

set persist password_reuse_interval=30;

password_require_current

密码必要验证策略

set persist password_require_current=on;

validate_password

密码复杂度

[mysqld]
plugin-load=validate_password.so ##开启
validate-password=off ##关闭
validate_password_check_user_name = on #校验验用户名
validate_password_dictionary_file =/tmp/file # 字典文件,字典文件中存在的密码不得使用
validate_password_length=8 # 密码的最小长度,此处为8
validate_password_mixed_case_count=1 # 至少要包含小写或大写字母的个数,此处为1
validate_password_number_count=1 # 至少要包含的数字的个数,此处为1
validate_password_policy=0 # 密码安全策略 0~2,默认MEDIUM(2)

也可以使用如下安装

install plugin validate_password soname 'validate_password.so'

而关闭密码复杂度使用该命令

uninstall plugin validate_password

wait_timeout & interactive_timeout

关闭连接等待的时间

对于非交互式连接,类似于jdbc连接wait_timeout的值继承自服务器端全局变量wait_timeout。
对于交互式连接,类似于mysql客户端连接wait_timeout的值继承自服务器端全局变量interactive_timeout。

set persist interactive_timeout=28800;
set persist wait_timeout=28800;

三、错误和解决方法汇总

ERROR 3118

ERROR 3118 (HY000): Access denied for user ‘test’@‘localhost’. Account is locked.

错误原因:用户账号状态为锁定,登陆该账号,显示账户锁定
解决方法:修改账户状态为解锁

mysql> select user,host,account_locked from mysql.user;
+---------+-----------+----------------+
| user    | host      | account_locked |
+---------+-----------+----------------+
| root    | localhost | N              |
| jeffrey | localhost | N              |
| test    | localhost | Y              |
+---------+-----------+----------------+
3 rows in set (0.00 sec)mysql> alter user 'test'@'localhost' account unlock;
Query OK, 0 rows affected (0.00 sec)mysql> select user,host,account_locked from mysql.user;
+---------+-----------+----------------+
| user    | host      | account_locked |
+---------+-----------+----------------+
| root    | localhost | N              |
| jeffrey | localhost | N              |
| test    | localhost | N              |
+---------+-----------+----------------+
3 rows in set (0.00 sec)

ERROR 1820 (HY000)

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement

错误原因:用户密码到期
解决方法:修改密码,重新登陆即可

mysql> show create user 'test'@'localhost' \g;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER for test@localhost                                                                                                                                    |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CREATE USER 'test'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' REQUIRE NONE PASSWORD EXPIRE ACCOUNT UNLOCK |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)ERROR: 
No query specifiedmysql> alter user 'test'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

[ERROR] Could not open file ‘/data/mysql/my3306/logs/error.log’ for error logging: Permission denied

[ERROR] Could not open file ‘/data/mysql/my3306/logs/error.log’ for error logging: Permission denied
原因:数据目录的用户和用户组不是我们设置的用户
解决:

[root@mysql2 ~]# chown -R mysql:mysql /data/*
[root@mysql2 ~]# chmod -R 750 /data/mysql/

[ERROR] unknown variable ‘basedi=/usr/local/mysql’

[ERROR] unknown variable ‘basedi=/usr/local/mysql’
在修改配置文件参数时,可能因为参数拼写错误或者参数因版本不再支持,在错误日志会记录内容,在mysql启动关闭及在运行时的错误
解决:在配置文件将错误的参数修改

[ERROR] Do you already have another mysqld server running on port: 3306

[ERROR] Do you already have another mysqld server running on port: 3306
端口被占用导致MySQL启动失败
在多实例的环境下,因为某几个实例的端口是一样的,导致启动时造成端口的冲突,而无法启动,我们需要在my.cnf参数文件中修改端口

[ERROR] Failed to open log (file ‘/data/mysql/my3306/logs/mysql-bin.000012’, errno 2)

[ERROR] Failed to open log (file ‘/data/mysql/my3306/logs/mysql-bin.000012’, errno 2)
二进制日志文件保的记录已提交的dml、ddl、dcl,主要用来主从复制、增量备份,而我们手工删除二进制文件导致mysql启动失败
解决:vim mysql-bin.index 将对应的二进制日志文件记录删除即可

[ERROR] InnoDB: The Auto-extending innodb_system data file ‘./ibdata1’ is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!

[ERROR] InnoDB: The Auto-extending innodb_system data file ‘./ibdata1’ is of a different size 768 pages (rounded down to MB) than specified in the .cnf file: initial 8192 pages, max 0 (relevant if non-zero) pages!
修改共享表空间参数大小导致MySQL启动失败,而共享表空间ibdata1里保存元数据信息、insert buffer、double write、undo、回滚指针

innodb_data_file_path=ibdata1:12M:autoextend

解决:在初始化数据库之前设置innodb_data_file_path的大小。重新修改配置文件中innodb_data_file_path的大小,必须是小于默认的大小(12M)或者等于默认的大小

ERROR 1534

ERROR 1534 (HY000): Writing one row to the row-based binary log failed
报错

mysql> call insert_emp(1,4000000);ERROR 1534 (HY000): Writing one row to the row-based binary log failed+---------------------+
| @@binlog_cache_size |
+---------------------+
| 2097152 			  |
+---------------------+1 row in set (0.00 sec)

因为内存不足导致的binlog cache size不够不能写入binlog,导致语句无法执行 在配置文件中调整binlog_cache_size和max_binlog_cache_size参数的值,改大一点

binlog_cache_size = 128M(binlog缓存根据实际情况调大)
max_binlog_cache_size = 512M (binlog日志根据实际情况调大)

ERROR 1133

ERROR 1133 (42000): Can’t find any matching row in the user table
原因:没有该用户
解决方法:确认该用户是否存在

ERROR 1396

ERROR 1396 (HY000): Operation CREATE USER failed for ‘test’@‘localhost’
原因:创建用户时,用户存在
解决方法:删除用户重新创建或者创建用户名不存在的用户

ERROR 1141

原因:从MySQL 8.0.16开始,MySQL推出了一种部分权限回收(Partial Revokes)的功能,可以将粗粒度赋予的权限在细粒度上回收。要使用这个功能需要将系统参数 partial_revokes 设置成 on,这个参数默认是 off,即默认不允许使用部分权限回收功能,在使用时会遇到下面的错误:

mysql> revoke select on mysql.* from 'grant'%'localhost';
ERROR 1141 (42000): There is no such grant defined for user 'grant' on host localhost

解决方法:要允许 revoke的操作,请启用 partial_revokes:

mysql> set persist partial_revokes = ON;
Query OK, 0 rows affected (0.00 sec)

配置正确后还错误,请检查revoke的权限是否在用户权限里(粒度)

ERROR 1819 (HY000)

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因:不满足密码复杂度
解决方法:更改密码符合密码复杂度策略

ERROR 3892 (HY000)

ERROR 3892 (HY000): Current password needs to be specified in the REPLACE clause in order to change it
原因:密码必要验证策略,修改密码时当前密码需要在REPLACE子句中指定
解决方法:修改密码时当前密码需要在REPLACE子句中指定

mysql> alter user user() identified by '123456' replace '123456';
Query OK, 0 rows affected (0.01 sec)

ERROR 1045 (28000)

ERROR 1045 (28000): Access denied for user ‘test1’@‘localhost’ (using password: YES)
原因:密码错误
解决方法:输入正确的密码

ERROR 3895 (HY000)

ERROR 3895 (HY000): Current password can not be retained for user ‘test1’@‘localhost’ because new password is empty.
原因:双密码策略,当前密码为空,旧密码无法使用
解决方法:修改密码时,当前密码不为空

ERROR 3955 (HY000)

ERROR 3955 (HY000): Access denied for user ‘test3’@‘localhost’. Account is blocked for 1 day(s) (1 day(s) remaining) due to 4 consecutive failed logins.
原因:失败登陆追踪,输入错误密码次数超过指定设置
解决方法:联系管理员修改密码或者解锁

ERROR 4052 (HY000)

ERROR 4052 (HY000): Invalid plugin “mysql_native_password” specified as 2 factor during “CREATE USER”.
原因:多因素身份认证,同时用2种内部存储插件
解决方法:装一个可插拔插件 Socket Peer-Credential等

mysql> INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
Query OK, 0 rows affected (0.00 sec)mysql> create user 'test7'@'localhost' identified by '123456' and identified with auth_socket as 'root';
Query OK, 0 rows affected (0.05 sec)

在这里插入图片描述

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

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

相关文章

leetcode刷题(9)二叉树(3)

各位朋友们,提前祝大家五一劳动节快乐啊!!!今天我为大家分享的是关于leetcode刷题二叉树相关的第三篇我文章,让我们一起来看看吧。 文章目录 1.二叉树的层序遍历题目要求做题思路代码实现 2.从前序与中序遍历序列构造二…

上海亚商投顾:沪指全天震荡微跌 新能源赛道股集体反弹

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指探底回升小幅下跌,创业板指盘中涨超2%,午后涨幅有所…

黑盒测试过程中【测试方法】详解5-输入域,输出域,猜错法

在黑盒测试过程中,有9种常用的方法:1.等价类划分 2.边界值分析 3.判定表法 4.正交实验法 5.流程图分析 6.因果图法 7.输入域覆盖法 8.输出域覆盖法 9.猜错法 黑盒测试过程中【测试方法】讲解1-等价类,边界值,判定表_朝一…

无线通信网 - 无线局域网 WLAN(802.11 标准)

文章目录 1 概述2 WLAN2.1 802.11 标准2.2 网络分类2.3 通信技术 3 扩展3.1 移动通信3.2 网工软考真题 1 概述 #mermaid-svg-UcgosJsdJfSTEm0Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-UcgosJsdJfSTEm0Y .err…

AI如何帮助人类进而验证直觉的可靠性?

AI可以通过以下方式帮助人类寻找反例进行否定或寻找特别的架构: 1. 利用机器学习算法进行反例搜索。AI可以训练一个分类器,用于判断某个假设是否成立。通过反复训练和测试,AI可以识别出一些不合理的假设,并帮助人类进行进一步的验…

Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)

参考文章https://blog.csdn.net/xray2/article/details/120497146 之所以多次一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。 1.首先确认一下自己的代码是Win32的还是Win64的,我操作系统是64的,忘…

【SVN】windows SVN安装使用教程(服务器4.3.4版本/客户端1.11.0版本)

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

材料写作素材:关于“大”排比句40例

1.一轮思想政治“大督查”,一轮政策落实“大检查”,一次非公企业“大走访”,一次问题线索“大起底”,一批典型案例“大曝光”。 2.在重大风险挑战面前豁得出去、顶得上去,在重大困难考验面前迎难而上、敢于胜利&#…

逐浪智能时代,网易数帆“重写”低代码

如今,越来越多行业正驶入数字化转型的深水区,如何彻底释放数据生产力,成为所有企业的一道必答题。 4月25日,“网易数帆低代码业务战略发布会”在线上举行。在发布会上,网易数帆发布了CodeWave智能开发平台&#xff0c…

e签宝,「进化」在2023

精准布局生态化、统一化、智能化、信创化,辅以具体产品落地;加速产业、行业、企业、业务,“四业”互通互联,提高产业数字化渗透率。电子签“群战”时代,e签宝再次进化。 作者|斗斗 出品|产业家 “印章在谁手上&…

h5逻辑_解决h5页面嵌入ios兼容性问题

安全区域 如下图所示~ 蓝色部分为安全区域。处于安全区域内的内容不受圆角、齐刘海、小黑条的影响。 若是将h5页面嵌入app中,就需要进行适配—> 让h5页面展示在安全区域内。 tips: 安全区域是在ios11之后并且是iPhoneX及以上机型才有的。 因此我们只…

Authing 正式发布应用集成网关 - Authing Gateway

2023 年 2月, Authing 推出了身份领域的 PaaS化应用集成网关 - Authing Gateway 。 Authing Gateway 提供将原有应用快速集成到 Authing 身份云产品的能力,在扩充身份认证方式的同时,提高资源的安全性和数据的隐私可靠性。 01.Authing Gatew…

基于信度感知的半监督医学图像分类对比自集成

文章目录 Reliability-Aware Contrastive Self-ensembling for Semi-supervised Medical Image Classification摘要本文方法Reliability-Aware Contrastive Mean TeacherWeight FunctionReliability-Aware Consistency LossReliability-Aware Contrastive LossObjective Functi…

NUMA详解

目录 NUMA简介 NUMA开启与关闭 查看系统是否支持 关闭方法 numactl --hardware介绍 没有安装numactl工具下查看NUMA架构节点数: 查看每个NUMA节点的CPU使用情况: 看每个NUMA节点的内存使用情况: 查看NUMA下指定进程的运行情况 创建…

基于Dokcer安装RabbitMQ

基于Dokcer安装RabbitMQ 一、RabbitMQ介绍 1.1 现存问题 服务调用:两个服务调用时,我们可以通过传统的HTTP方式,让服务A直接去调用服务B的接口,但是这种方式是同步的方式,虽然可以采用SpringBoot提供的Async注解实现…

2023.4.17-4.23 AI行业周刊(第146期):创业要趁早

最近有很多外部拓展培训的需求,联盟的共学课程培训,公司视觉软件的培训,行业课程的培训,每一项培训听起来简单,但是其实都需要大量的时间精力。 前两年也准备过一份《30天入门人工智能》的视频课程,总共31…

【翻译一下官方文档】邂逅uniCloud云函数(基础篇)

我将用图文的形式,把市面上优质的课程加以自己的理解,详细的把:创建一个uniCloud的应用,其中的每一步记录出来,方便大家写项目中,做到哪一步不会了,可以轻松翻看文章进行查阅。(此文…

太为难我了,阿里面试了7轮...

前言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这…

ZmosHarmony buildroot移植与使用

前言 移植过程 1、添加编译选项编译buildroot。 2、开机启动时设置 LD库的环境变量与PATH路径。 是什么原因需要这样操作? 主要使用busybox,使用buildroot的瑞士军dao。 使用busybox 为buildroot下的使用 第一次启动时设置 由于是在vendor分区因此 …

C++题解 | 逆波兰表达式相关

✨个人主页: 夜 默 🎉所属专栏: C/C相关题解 🎊每篇一句: 图片来源 A year from now you may wish you had started today. 明年今日,你会希望此时此刻的自己已经开始行动了。 文章目录 🌇前言…