Mysql备份和恢复

2023-05-16

一、数据备份的重要性

备份的主要目的是灾难恢复
在生产环境中,数据的安全性至关重要
任何数据的丢失都可能产生严重的后果

造成数据丢失的原因
1、程序错误
2、人为操作错误
3、运算错误
4、磁盘故障
5、灾难(火灾、地震、盗窃等)

二、数据库备份的分类

1、从物理与逻辑的角度,备份可分为

1、物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份

物理备份方法:
1.冷备份(脱机备份):是在关闭数据库的时候进行的
2.热备份(联机备份):数据库处于运行状态,依赖于数据库的日志文件
3.温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作

2、逻辑备份:对数据库逻辑组件(如:表等数据库对象)的备份

2、从数据库的备份策略角度,备份可分为

1、完全备份:每次对数据库进行完整的备份

完全备份是对整个数据库、数据库结构和文件结构的备份。
保存的是备份完成时刻的数据库。
是差异备份与增量备份的基础。
相当于基石。

2、差异备份:备份自从上次完全备份之后被修改过的文件

3、增量备份:只要在上次完全备份或者增量备份后被修改的文件才会被备份

三、常用备份的方法 

1、物理冷备

备份时数据库处于关闭状态,直接打包数据库文件
备份速度快,恢复时也是最简单的
关闭MySQL数据库
使用tar命令直接打包数据库文件夹  /usr/local/mysql/data
直接替换现有的MySQL目录即可

2、专用备份工具mysqldump或者mysqlhotcopy

mysqldump常用的逻辑备份工具
MySQL自带的备份工具,可实现对MySQL的备份
可以将指定的库、表导出为SQL脚本
使用命令mysql导入备份的数据

mysqlhotcopy仅拥有备份myisam和archive表

3、启动二进制日志进行增量备份

进行增量备份,需要刷新二进制日志

4、第三方工具备份

免费的MySQL热备份软件Percona XtraBackup

四、Mysql的完全备份备份和恢复

物理冷备份和恢复(物理备份-完全备份)

数据库1服务器

cd/usr/local/mysql/data   ##切换到数据库目录

systemctl stop mysqld  ##关闭数据库

tar -zcf /opt/mysql/_all_$(date +%y%m%d).tar.gz  /usr/local/mysql/data  ##压缩到/opt/mysql

cd /opt/mysql              ##查看压缩备份的东西

数据库2服务器

把在数据库1服务器的数据库压缩包传输到数据库2服务器(前提把数据库1服务器里面的data目录或者移走)

使用mysqldump备份(逻辑备份)

mysqldump -u root -p[密码] --databases 库名1 [库名2] … > /备份路径/备份文件名.sql #导出的就是数据库脚本文件

例子

备份库:

mysqldump -u root -p[密码] --databases 库名1 [库名2] … > /备份路径/备份文件名.sql #导出的就是数据库脚本文件

mysqldump -uroot -pabc123 --databases sw > /opt/mysql_sw_test.sql  ##导出sw库到/opt/叫mysql_sw_test.sql

多库备份
mysqldump -uroot -p123123 --databases mysql SCHOOL > /opt/mysql-SCHOO ##导出mysql  和 SCHOOL 库到/opt/SCHOOL

备份表:

mysqldump -u root -p[密码] 库名 [表名1] [表名2] … > /备份路径/备份文件名.sql

mysqldump -uroot -p123123   mysql mysql_test > /opt/mysql-SCHOO ##导出mysql 库中的mysql_test 表到/opt/SCHOOL

多表备份:

mysqldump -uroot -p123123  mysql mysql_test  mysql_test1 mysql_test2 > /opt/mysql-SCHOO ##导出mysql 库中的mysql_test 、mysql_test1、mysql_test2表到/opt/SCHOOL

只备份表结构:   -d

mysqldump -uroot -p123123 -d --databases mysql mysql_test > /opt/mysql-SCHOO ##导出mysql 库中的mysql_test 表的表结构到/opt/SCHOOL

对所有库进行备份

mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql

在命令行操作数据库

mysql -u root -pabc123 ‘show databases’;

恢复数据库

##恢复库之前需要先创建一个名字一样的新库

mysql -u root -pabc123 < /opt/backup/kgc.sql   ##把之前备份到/opt/backup的kgc.sql库文件恢复到数据库中

备份这个sw库

 

恢复库中的表

##kgc库名称 

mysql -u root -pabc123 kgc < /opt/backup/kgc.sql  ##把备份的表导入kgc这个库中

 

 

备份一整个库  但是只恢复一张表

从备份的那个文件截取出那张表的信息单独领出来

 Mysql 日志

vim /etc/my.cof

log-error=/usr/local/mysql/data/mysql_error.log  ##指定日志的保存保存位置和文件名

通用查询日志,用来记录Mysql的所有连接和语句,默认是关闭的

general_log=NO

general_log_file=/usr/local/mysql/data/mysql_general.log

二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认是开启的

log-bin=mysql-bin               ##也可以 log_bin=mysql-bin 

## statement(基于sql语句记录二进制日志,记录写入速度快,在高并发情况会出现sql语句顺序记录偏差导致恢复时数据丢失) (较老)

## row(基于行记录记录二进制日志,写入和恢复速度教于statement比较慢,日志文件占用空间也较大,但是准确性比较高)  

##mixed(混合模式 ,平时负载压力较小的时候使用sql语句记录二进制文件,在高并发的时候使用行记录二进制日志文件)

binlog_format=STATEMENT|ROW|MIXED 

慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到那些查询语句执行时间长,以便于优化,默认关闭的。

slow_query_log=ON

slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log

long_query_time=5                    ##默认十秒   一般设置1-3秒

修改玩数据库文件之后 systemctl restart mysqld         ##重启服务

mysql -uroot -p 

show variables like 'general%';    ##查看通用查询日志是否开启

show variables like 'log_bin%';     ##查看二进制日志是否开启

show variables like '%slow%';      ##查看慢查询日志功能是否开启

show variables like 'long_query_time';   ##查看慢查询时间设置

set global slow_query_log=ON              ##数据库中开启慢查询的方法

##刷新出一个新的二进制文件

mysqladmin -uroot -pabc123 flush-logs

 

增量备份

开启二进制文件日志

vim /etc/my.cnf
[mysqld]
server-id = 1

log-bin=mysql-bin
binlog_format = MIXED                #指定二进制日志(binlog)的记录格式为 MIXED

报错多加

log-error=/usr/local/mysql/data/mysql_error.log
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
log-bin=mysql-bin
binlog_format=ROW
slow_query_log=ON
slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log
long_query_time=5


#二进制日志(binlog)有3种不同的记录格式:STATEMENT(基于SQL语句)、ROW(基于行)、MIXED(混合模式),默认格式是STATEMENT

systemctl restart mysqld.service
ls -l /usr/local/mysql/data/mysql-bin.*
 

可每周对数据库或表进行完全备份(增量备份是基于完全备份,所以这里我们直接备份数据库)

mysqldump -u root -p school test > /opt/school_test_$(date +%F).sql
mysqldump -u root -p school > /opt/school_$(date +%F).sql

#使用crontab -e 计划性任务来执行;每周1凌晨2点对表test和school库进行完全备份
0 2 * * 1 mysqldump -u root -p school test > /opt/school_test_$(date +%F).sql
0 2 * * 1 mysqldump -u root -p school > /opt/school_$(date +%F).sql

可每天进行增量备份操作,生成新的二进制日志文件(例如 mysql-bin.000004)

插入新数据,以模拟数据的增加或变更

 再次生成新的二进制日志文件(例如 mysql-bin.000005)

把刚才生成的00004二进制文件复制到/opt/目录下 (这个0004文件存放着刚才插入的两条数据st和jw)

一般恢复 

模拟丢失更改的数据的恢复步骤

  mysqlbinlog --no-defaults /opt/mysql-bin.000002 | mysql -u root -p

断点恢复

创建一个新表

 

 mysqladmin -uroot -pabc123 flush-logs 再刷新一次文件

mysqlbinlog --no-defaults --base64-output=decode-rows -v  二进制文件的路径可以查看二进制


/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#221027 19:49:06 server id 1  end_log_pos 123 CRC32 0x6457acdb  Start: binlog v 4, server v 5.7.17-log created 221027 19:49:06
# at 123
#221027 19:49:06 server id 1  end_log_pos 154 CRC32 0x71e618bf  Previous-GTIDs
# [empty]
# at 154
#221027 19:52:02 server id 1  end_log_pos 219 CRC32 0x122fcd32  Anonymous_GTID  last_committed=0        sequence_number=1
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 219
#221027 19:52:02 server id 1  end_log_pos 346 CRC32 0x8f95e298  Query   thread_id=21    exec_time=0     error_code=0
use `bd`/*!*/;
SET TIMESTAMP=1666871522/*!*/;
SET @@session.pseudo_thread_id=21/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1437073414/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
create table backup_test (id int,name varchar(5),age int)
/*!*/;
# at 346
#221027 19:53:34 server id 1  end_log_pos 411 CRC32 0x193d25a4  Anonymous_GTID  last_committed=1        sequence_number=2
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 411
#221027 19:53:34 server id 1  end_log_pos 486 CRC32 0xe9052f2e  Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871614/*!*/;
BEGIN
/*!*/;
# at 486
#221027 19:53:34 server id 1  end_log_pos 601 CRC32 0xb67c3f61  Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871614/*!*/;
insert into backup_test values (1,'张三',1)
/*!*/;
# at 601
#221027 19:53:34 server id 1  end_log_pos 632 CRC32 0x73a4c268  Xid = 219
COMMIT/*!*/;
# at 632
#221027 19:53:44 server id 1  end_log_pos 697 CRC32 0x910007d6  Anonymous_GTID  last_committed=2        sequence_number=3
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 697
#221027 19:53:44 server id 1  end_log_pos 772 CRC32 0x1d5f6641  Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871624/*!*/;
BEGIN
/*!*/;
# at 772
#221027 19:53:44 server id 1  end_log_pos 887 CRC32 0x366a0bf6  Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871624/*!*/;
insert into backup_test values (2,'李四',2)
/*!*/;
# at 887
#221027 19:53:44 server id 1  end_log_pos 918 CRC32 0x9ca52c92  Xid = 220
COMMIT/*!*/;
# at 918
#221027 19:54:04 server id 1  end_log_pos 983 CRC32 0xcda1e7d6  Anonymous_GTID  last_committed=3        sequence_number=4
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 983
#221027 19:54:04 server id 1  end_log_pos 1058 CRC32 0xcdb70012         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871644/*!*/;
BEGIN
/*!*/;
# at 1058
#221027 19:54:04 server id 1  end_log_pos 1173 CRC32 0x0d6f6133         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871644/*!*/;
insert into backup_test values (3,'王五',3)
/*!*/;
# at 1173
#221027 19:54:04 server id 1  end_log_pos 1204 CRC32 0x3e435631         Xid = 221
COMMIT/*!*/;
# at 1204
#221027 19:54:51 server id 1  end_log_pos 1269 CRC32 0xa3743807         Anonymous_GTID  last_committed=4        sequence_number=5
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 1269
#221027 19:54:51 server id 1  end_log_pos 1344 CRC32 0x41ebb14b         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871691/*!*/;
BEGIN
/*!*/;
# at 1344
#221027 19:54:51 server id 1  end_log_pos 1448 CRC32 0x02a533fa         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871691/*!*/;
delete from backup_test where id=1
/*!*/;
# at 1448
#221027 19:54:51 server id 1  end_log_pos 1479 CRC32 0x87ca08fa         Xid = 223
COMMIT/*!*/;
# at 1479
#221027 19:55:08 server id 1  end_log_pos 1544 CRC32 0xb469eea7         Anonymous_GTID  last_committed=5        sequence_number=6
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 1544
#221027 19:55:08 server id 1  end_log_pos 1619 CRC32 0x65c2f9b5         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871708/*!*/;
BEGIN
/*!*/;
# at 1619
#221027 19:55:08 server id 1  end_log_pos 1734 CRC32 0xabcabd92         Query   thread_id=21    exec_time=0     error_code=0
SET TIMESTAMP=1666871708/*!*/;
insert into backup_test values (4,'王刘',4)
/*!*/;
# at 1734
#221027 19:55:08 server id 1  end_log_pos 1765 CRC32 0xc6467443         Xid = 224
COMMIT/*!*/;
# at 1765
#221027 19:59:22 server id 1  end_log_pos 1812 CRC32 0x0d238c46         Rotate to mysql-bin.000007  pos: 4
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
 

恢复到操作ID为‘610’之前的数据,就是不执行删除id=1的操作

mysqlbinlog --no-defaults --stop-position='601' /usr/local/mysql/data/mysql-bin.000006 | mysql -uroot -pabc123

恢复成功

 

 基于时间点恢复

#仅恢复到17:12:40之前的数据,就是不执行删除id=1的操作直接跳过
mysqlbinlog --no-defaults --stop-datetime='2021-04-15 17:12:40' /usr/local/mysql/data/mysql-bin.000007 | mysql -uroot -p35123512
#跳过17:12:40的数据恢复之后的数据
mysqlbinlog --no-defaults --start-datetime='2021-04-15 17:13:06' /usr/local/mysql/data/mysql-bin.000007 | mysql -uroot -p35123512

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql备份和恢复 的相关文章

  • 基于神经网络的Matlab车牌识别设计

    基于神经网络的Matlab车牌识别设计 1 题目的主要研究内容2 流程介绍3 详细介绍3 1 图像预处理3 2 车牌预处理3 3 字符分割3 4 车牌识别 4 识别结果 1 题目的主要研究内容 使用MATLAB将采集到的图像信息读入 xff
  • 网络编程--01--socket简介--套接字

    socket 套接字 什么是Socket 在计算机通信领域 xff0c socket 被翻译为 套接字 xff0c 它是计算机之间进行通信的一种约定或一种方式 通过 socket 这种约定 xff0c 一台计算机可以接收其他计算机的数据 x
  • 使用strtok函数和split函数来分割字符串

    使用 strtok 函数可以比较方便地实现字符串分割 具体来说 xff0c 可以将 strtok 函数看作一个状态机 xff0c 它会记录当前扫描到的字符串位置 xff0c 并根据指定的分隔符将其分割成多个子字符串 xff0c 并返回分割后
  • vagrant安装docker

    卸载系统之前的docker sudo yum remove docker docker client docker client latest docker common docker latest docker latest logrot
  • 图像识别的未来:机遇与挑战并存

    识别图像对人类来说是件极容易的事情 xff0c 但是对机器而言 xff0c 这也经历了漫长岁月 在计算机视觉领域 xff0c 图像识别这几年的发展突飞猛进 例如 xff0c 在PASCAL VOC物体检测基准测试中 xff0c 检测器的性能
  • 在Ubuntu中通过CV_bridge更改OpenCV版本

    由于最近一个demo使用的OpenCV版本高于Ubuntu1804melodic自带的OpenCV3 2版本 xff0c 需要调节OpenCV的版本 1 安装OpenCV 下载地址 xff1a Releases OpenCV选择自己需要的版
  • LQR控制算法的浅析

    目录 前言 一 知识点补充 1 拉格朗日乘子法 2 积分中值定理 3 向前欧拉法 xff0c 向后欧拉法 xff0c 中点欧拉法 4 向量的导数 5 矩阵求逆引理 记住就好 xff0c 推导见链接 二 连续时间下的LQR推导 1 系统状态方
  • Linux网络编程【UDP】

    文章目录 UDP C S 通信TCP和UDP对C S 通信相关函数recvfrom xff08 accept 43 read xff09 sendto xff08 connect 43 write xff09 bind UDP 服务代码参考
  • C语言结构体对齐

    计算机内存是以字节 xff08 Byte xff09 为单位划分的 xff0c 理论上CPU可以访问任意编号的字节 xff0c 但实际情况并非如此 cpu一次能读取多少内存要看数据总线是多少位 xff0c 如果是16位 xff0c 则一次只
  • 匿名飞控STM32版代码整理之Ano_Imu.c

    一 ANO Imu c文件 COPYRIGHT 2016 ANO Tech 作者 xff1a 匿名科创文件名 xff1a ANO IMU c描述 xff1a 姿态解算函数官网 xff1a www anotc com淘宝 xff1a anot
  • 匿名飞控码STM32版代码整理之Ano_AttCtrl.c

    代码 include Ano AttCtrl h include Ano Imu h include Drv icm20602 h include Ano MagProcess h include Drv spl06 h include A
  • realsense版本号问题

    问题 xff1a librealsense2 so 2 47 cannot open shared object file No such file or directory 打开驱动查看版本号 realsense span class t
  • YOLOv3

    YOLOv3 论文信息论文标题 xff1a 论文作者 xff1a 收录期刊 会议及年份 xff1a 论文学习YOLOv3 网络架构 xff1a YOLO 输出特征图解码 xff08 前向过程 xff09 xff1a 训练策略与损失函数 xf
  • 使用Gazebo进行移动机械臂抓取仿真

    该项目在Gazebo中搭建一款机器人模型 xff0c 其底盘使用turtlebot移动机器人底盘 xff0c 机械臂采用结构较为简单的turtlebot arm xff0c 并在底盘上添加kinect深度相机 最终该机器人可实现自主导航 物
  • 【树莓派——Ubuntu 20.04 系统安装及Windows远程桌面连接显示】

    前言 文章A主要是Raspberry Pi官方系统的安装和用VNC查看器远程连接显示 xff1b 这篇文章主要分享一下Ubuntu 20 04系统的安装以及用Windows 远程桌面连接显示 Ubuntu 20 04系统的下载和烧录 专门的
  • Abstract写作常用句式

    Abstract 摘要以最简洁的文字概括论文 xff0c 点明研究的目的 途径 结果 意义 xff0c 以便读者决定是否要阅读全文 摘要一般包含几项内容 xff1a 1 论文主题 xff08 1句 xff09 2 理论基础 途径 方法 xf
  • mysql备份与恢复:完全备份,增量备份,基于位置点恢复,基于时间点恢复

    理论介绍 数据备份的重要性数据库备份的分类 常见的备份方法MySQL完全备份数据库完全备份分类 数据库备份与恢复MySQL数据库完全备份与恢复mysqldump备份与恢复MySQL数据库增量备份恢复基于位置的恢复基于时间恢复 数据备份的重要
  • vue => element 进度条 自定义文字 三层数据渲染页面报错:Invalid prop: custom validator check failed for prop “percentage

    三层数据渲染页面报错 报错原因分析 xff1a 解决方案 xff1a span class token operator lt span span class token operator span span class token ope
  • 使用xfsdump进行文件的备份与恢复

    1 添加一块硬盘大小随意 2 sdb为新添加的硬盘 3 格式化为xfs格式 4 新建目录并永久挂载 mount dev sdb xfsdump 5 将sdb设备挂载到 xfsdump 目录 编辑 etc fstab 文件 将 挂载的信息卸写
  • Jetson Orin NX上手使用(Linux系统的配置)

    先介绍手上拿到的orin nx模块 xff1a Jetson Orin NX 16GB 100TOPS的算力听起来顶呱呱 摸过一些jetson系列套件的我拿到手自信开搞 然后就自闭了 他好像跟以前的不是一个路子啊 xff08 以前摸过的有n

随机推荐

  • 51单片机的串口通信原理

    一 并行和串行通信方式 通信有并行和串行两种通信方式 在单片机系统以及现代单片机测控系统中信息交换多采用串行通信方式 1 并行通信方式 并行通信通常是将数据字节的各位用多条数据线同时进行传送 xff0c 每一位数据都需要一条传输线 如下图所
  • 正点原子stm32F407学习笔记3——蜂鸣器实验

    一 硬件设计 蜂鸣器为有源蜂鸣器 xff0c 当 PF 8 输出高电平的时候 xff0c 蜂鸣器将发声 xff0c 当 PF 8 输出低电平的时候 xff0c 蜂鸣器停止发声 xff0c 硬件原理图如下 二 软件设计 1 新建beep c文
  • 先面试还是先笔试-找工作,是先面试,还是先笔试?

    有些工作不需要笔试 有采访 一般来说 xff0c 你会先在笔试中检查你的专业水平 xff0c 然后在面试时检查你的形象和沟通水平 公务员考试先面试还是笔试 先笔试 xff0c 通过后面试 是先面试还是先笔试 xff1f 不同的单位会有不同的
  • 北京邮电大学2023级工商管理硕士MBA(非全日制)已开启

    工商管理硕士专业学位 xff08 非全日制 xff09 预面试通知 北京邮电大学MBA项目以 技术叠加管理 科学叠加艺术 为理念 xff0c 以 追求卓越 持续创新 为驱动 xff0c 面向信息化社会的企事业单位 政府部门及创业者 xff0
  • 【视频教程】基于PyTorch机器学习与深度学习实践应用与案例分析

    近年来 xff0c 随着AlphaGo 无人驾驶汽车 医学影像智慧辅助诊疗 ImageNet竞赛等热点事件的发生 xff0c 人工智能迎来了新一轮的发展浪潮 尤其是深度学习技术 xff0c 在许多行业都取得了颠覆性的成果 另外 xff0c
  • ORB-SLAM3运行过程记录

    试着运行ORB SLAM3 xff0c 做的部分修改 在ORB SLAM3 Examples ROS ORB SLAM3 src中修改ros rgbd cc的topic订阅 xff1a xff08 参考https blog csdn net
  • Introduction写作常用句式

    Introduction 引言部分介绍此项研究的主题 背景 范畴 xff0c 并说明全文的结构 xff0c 便于读者阅读 xff0c 一般包含几项内容 xff1a 1 背景介绍 2 现有问题 3 研究目标 4 篇章结构 1 背景介绍 has
  • mysql中的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

    在mysql中 xff0c 如果类型为时间的列设置了CURRENT TIMESTAMP xff0c 那么在insert一条新记录的收 xff0c 时间字段自动获取到当前时间 xff0c 如果设置了ON UPDATE CURRENT TIME
  • vncviewer使用教程

    首先安装vncviewer 之后在服务器输入你想要开启的 端口号 conda deactivate vncserver 88 VNC Server这里写 你的服务器地址 5900 43 端口号 如果出现以下问题 xff0c 可能是配置文件的
  • podman常见使用命令

    常用命令 容器 podman run 创建并启动容器 podman start 启动容器 podman ps 查看容器 podman stop 终止容器 podman restart 重启容器 podman attach 进入容器 podm
  • 对子模函数(submodular function)的一些理解

    1 子模函数是一个集合函数 xff0c 又减小回转属性 xff08 diminishing returns 子模函数适用于多种应用 xff0c 包括近似算法 xff0c 博弈理论 xff0c 和电网络 2 标准定义 xff1a 如果是一个集
  • 二项分布(np.random.binomial),搞它就完了

    二项分布 xff08 np random binomial xff09 xff0c 搞它就完了 xff01 首先我们的搞清楚伯努利分布和二项分布 xff0c 我们先找个例子 xff0c 选西瓜 xff0c 待我细细道来 伯努利分布 选一个西
  • Numpy给数组增加维度的操作

    不说其他的 xff0c 直接给个例子就懂了 a是一个一维数组 a 61 np array 0 0 10 0 20 0 30 0 print a shape a np newaxis a np newaxis shape 输出 4 0 10
  • 参数辨识的简单理解

    1 参数辨识技术 xff0c 是一种将理论模型与试验数据结合起来用于预测的技术 参数辨识根据实验数据和建立的模型来确定一组模型的参数 xff0c 使得由模型计算得到的数值结果能最好地拟合测试数据 xff08 可以看做是一种曲线拟合问题 xf
  • Matlab中持久变量(persistent)在Python中的理解

    语法 persistent var1 varN 说明 persistent 将变量var1 varN 声明为持久变量 持久变量是声明它们的函数的局部变量 xff1b 但其值保留在对该函数的各次调用所使用的内存中 xff0c Matlab命令
  • 新的代数计算软件包——Magma

    Magma是一款由悉尼大学数学与统计学系计算代数学小组开发的功能强大的代数计算程序包 xff0c 该软件专门解决代数系统中的数论 代数几何和代数组合学的计算问题 新的代数计算软件包 Magma 前言一 Magama安装二 基本操作三 多项式
  • 基于ChatGPT的新一代辅助编程神器——Cursor

    Cursor 编辑器 Cursor 这是一款与OpenAI合作并且基于GPT3的新一代辅助编程神器 它支持多种文件类型 xff0c 支持格式化文本 xff0c 支持多种主题 xff0c 支持多语言语法高亮 xff0c 支持快捷键设置 xff
  • 2023 Microsoft Edge 新增的分屏功能

    Microsoft Edge Canary 通道目前已经发布 110 版 xff0c 本次更新带来一个非常实用的实验性功能 xff1a 同窗双屏功能 xff0c 可以在一个窗口里同时开两个网页并排看 如何开启分屏功能 xff1f 默认分屏功
  • ubuntu服务器图形界面崩溃解决方案

    你们看的没错 xff0c 我又来了 真的是 xff0c 读计算机不易啊 我又又又把机器搞坏了 就单纯的程序跑不通 xff0c 网上搜解决方案是说好像这个文件夹名带中文 xff0c 明明我修改过了 xff0c 想着重启一下吧 xff0c 然后
  • Mysql备份和恢复

    一 数据备份的重要性 备份的主要目的是灾难恢复 在生产环境中 xff0c 数据的安全性至关重要 任何数据的丢失都可能产生严重的后果 造成数据丢失的原因 1 程序错误 2 人为操作错误 3 运算错误 4 磁盘故障 5 灾难 xff08 火灾