mysql版本5.5.*升级为5.7.*,遇到的问题和解决方法都来看看吧,最终升级成功~

news2024/9/27 7:16:18

背景:由于项目比较老,用的数据库版本也是相当低,现在业务需求需要做数据同步,使用FlinkCDC的时候报数据库版本低,查询FlinkCDC要求的最低版本后果断升级mysql~

FlinkCDC对mysql最低版要求如下图:

(从 2.2 版本开始, MySQL CDC 支持了 MySQL 5.6 版本,满足低版本的 MySQL 用户需求。)

接下来我们就对数据库的升级做好准备:

数据库升级带来的风险:

1. 不兼容的更改:MySQL 5.7.37引入了一些不兼容的更改,可能会影响到现有的应用程序。例如,MySQL 5.7.37默认使用了更严格的SQL模式,这可能会导致一些应用程序无法正常工作。要避免这个问题,可以在升级之前仔细阅读MySQL 5.7.37的发行说明,并检查应用程序是否与新版本兼容。

2. 配置文件更改:MySQL 5.7.37的配置文件可能与旧版本不同,需要进行相应的更改。要避免这个问题,可以在升级之前备份旧的配置文件,并在升级后将其与新的配置文件进行比较,以确定是否需要进行更改。

3. 数据库引擎更改:MySQL 5.7.37默认使用了InnoDB作为默认的存储引擎,而旧版本可能使用了MyISAM或其他存储引擎。要避免这个问题,可以在升级之前检查现有的数据库使用的存储引擎,并在升级后将其更改为InnoDB。

4. 安全设置更改:MySQL 5.7.37引入了一些新的安全设置,例如密码策略和加密功能。要避免这个问题,可以在升级之前仔细阅读MySQL 5.7.37的发行说明,并根据需要进行相应的更改。

为了避免这些问题,可以尝试按照以下步骤进行操作:

1. 在升级之前备份MySQL的数据和配置文件,以防止升级过程中出现意外情况导致数据丢失。

2. 仔细阅读MySQL 5.7.37的发行说明,并检查应用程序是否与新版本兼容。

3. 检查现有的数据库使用的存储引擎,并在升级后将其更改为InnoDB。

4. 在升级之前备份旧的配置文件,并在升级后将其与新的配置文件进行比较,以确定是否需要进行更改。

5. 仔细阅读MySQL 5.7.37的发行说明,并根据需要进行相应的安全设置更改。

总之,在升级MySQL之前,一定要做好充分的准备工作,以确保升级过程顺利,并且不会影响到现有的应用程序和数据。

MySQL查看默认存储引擎:SHOW VARIABLES LIKE 'default_storage_engine%';

一、环境准备(可选):

要在Linux上安装yum,可以按照以下步骤进行操作:

1. 确认系统是否已经安装了yum。可以使用以下命令检查:

   yum --version

如果系统已经安装了yum,则应该输出yum的版本信息。如果系统没有安装yum,则应该输出-bash: yum: command not found。

2. 如果系统没有安装yum,则可以使用以下命令安装:

   sudo yum install yum-utils

这将安装yum及其相关工具。

3. 安装完成后,可以使用以下命令检查yum是否安装成功:

   yum --version

如果yum已经成功安装,则应该输出yum的版本信息。

二、备份数据库所有数据:

要在Linux上将MySQL升级到5.7.37版本,可以按照以下步骤进行操作:

1. 备份MySQL的数据和配置文件,以防止升级过程中出现意外情况导致数据丢失。可以使用以下命令备份:

   mysqldump -u root -p --all-databases > all_databases.sql

这将备份所有数据库到名为all_databases.sql的文件中。

要在Linux上查询all_databases.sql文件的位置,可以使用以下命令:

sudo find / -name all_databases.sql

将备份的数据和配置文件还原到新版本的MySQL中。可以使用以下命令还原:

   mysql -u root -p < all_databases.sql

2.停止MySQL服务,并确保所有MySQL进程已经终止。可以使用以下命令停止MySQL服务

   sudo systemctl stop mysql

要查询MySQL的安装目录,可以使用以下命令:

which mysql

查询mysql所有文件夹

find / -name mysql

删除文件夹

rm -rf /usr/lib64/mysql

3.下载对应版本压缩包

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

点击download进入以下页面:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

操作步骤:

3.1在linux运行下载速度比较快(一般放在专门存放下载文件目录):https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

3.2然后解压文件:tar -xvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz,重新命名文件夹名称为mysql5.7.37.

3.3把解压的文件截切到/usr/local/mysql5.7.37文件目录下(养成习惯把安装程序都按一定规则存放):mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql5.7.37/

3.4创建mysql用户组和用户并修改权限

groupadd mysql

useradd -r -g mysql mysql

3.5创建数据目录并赋予权限

mkdir -p  /data/mysql                  #创建目录

chown mysql:mysql -R /data/mysql       #赋予权限

3.6配置my.cnf(最好在外部先以UTF-8格式编辑好传到服务器)

vim /etc/my.cnf

内容如下:(注意空格)

[mysqld]

bind-address=0.0.0.0

port=3306

user=mysql

basedir=/usr/local/mysql5.7.37  #这里特别注意把mysql-5.7.37写成mysql会导致后面无法启动

datadir=/data/mysql

socket=/tmp/mysql.sock

log-error=/data/mysql/mysql.err

pid-file=/data/mysql/mysql.pid

#character config

character_set_server=utf8mb4

symbolic-links=0

explicit_defaults_for_timestamp=true

lower_case_table_names=1    #不区分表名大小写,统一换成小写

sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'

log-bin=mysql-bin      #开启binlog日志,不开启则不需要写以下三行
server-id=12
binlog_format=ROW

expire_logs_days=7        #清除binlog周期,天

3.7初始化数据库

进入mysql的bin目录:cd /usr/local/mysql5.7.37/bin/

初始化:./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql5.7.37/ --datadir=/data/mysql/ --user=mysql --initialize

查看密码:cat /data/mysql/mysql.err

3.8检查MySQL数据目录是否存在。可以使用以下命令检查MySQL数据目录是否存在:

   ls /data/mysql

如果MySQL数据目录不存在,则可以使用以下命令创建:

mkdir /data/mysql

chown mysql:mysql /data/mysql

3.9检查MySQL数据目录的权限。可以使用以下命令检查MySQL数据目录的权限:

   ls -ld /data/mysql

如果MySQL数据目录的权限不正确,则可以使用以下命令更改权限:

chmod 755 /data/mysql

3.10启动mysql,并更改root 密码

先将mysql.server放置到/etc/init.d/mysql中

cp /usr/local/mysql5.7.37/support-files/mysql.server /etc/init.d/mysql

3.11启动!!!

service mysql start

ps -ef|grep mysql

到这里说明mysql已经安装成功了!!

3.12下面修改密码:

首先登录mysql,前面的那个是随机生成的。

./mysql -u root -p   #bin目录下

再执行下面三步操作,然后重新登录。

SET PASSWORD = PASSWORD('EnCanadaForEMC');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;   

3.13查看mysql版本:

    

三、必要操作

1.这个时候如果无法连接:

修改mysql的PATH环境变量bin的安装地址

1.1要修改MySQL的PATH环境变量中bin的安装地址,可以按照以下步骤进行操作:

确认MySQL的安装路径。可以使用以下命令检查MySQL的安装路径:   

which mysql

这将显示MySQL的安装路径,例如/usr/local/mysql5.7.37/bin/mysql

1.2打开~/.bashrc文件。可以使用以下命令打开~/.bashrc文件:

   nano ~/.bashrc

1.3在文件末尾添加以下行:

  export PATH=$PATH:/path/to/mysql/bin

其中,/path/to/mysql/bin应替换为MySQL的安装路径中bin目录的路径,例如/usr/local/mysql5.7.37/bin/mysql/bin。

1.4保存并关闭文件。可以使用Ctrl+X、Y和Enter键保存并关闭文件。

1.5使更改生效。可以使用以下命令使更改生效:

source ~/.bashrc

1.6确认PATH环境变量已经更新。可以使用以下命令检查PATH环境变量是否已经更新:

 echo $PATH

这将显示PATH环境变量的当前值,其中应该包含MySQL的安装路径中bin目录的路径。

2.这时候你如果使用远程连接……你会发现你无法连接。

2.1这里主要执行下面三个命令(先登录数据库)

use mysql                                            #访问mysql库

update user set host = '%' where user = 'root';      #使root能再任何host访问

FLUSH PRIVILEGES;                                    #刷新

注意:可以将mysql设置成(不区分大小写)

vim /etc/my.cnf

在这个配置文件下添加这个参数(不区分大小写)

lower_case_table_names = 1

2.2全局使用mysql命令

-bash: mysql: command not found   #mysql命令没有找到

mysql命令没有找到,找到mysql安装目录,which mysql,也可以在上述目录查 /usr/local查找是否有mysql ,然后建立到 /usr/bin/的软链

ln -s /usr/local/mysql55/bin/mysql /usr/bin/

因为系统默认会查找/usr/bin下的命令,所以要连接到这个目录

/usr/local/mysql5.7.37/bin/mysql 是mysql的安装目录

/usr/bin/ 是软链接到的目录

3.设置开启mysql的二进制日志文件binlog

如果要使用Flinkcdc同步MySQL,建议将二进制日志(binlog)的格式设置为ROW。这是因为ROW格式可以更准确地记录每个修改操作的行数据,从而可以更准确地重放修改操作。而且,Flinkcdc默认使用ROW格式进行数据同步,如果MySQL的二进制日志格式不是ROW,可能会导致数据同步的问题。

使用命令

SHOW VARIABLES LIKE 'log_bin';

确认MySQL是否已经启用了二进制日志。

解决方法:

要将MySQL的二进制日志格式设置为ROW,可以按照以下步骤进行操作:

1. 编辑MySQL的配置文件。可以使用以下命令编辑MySQL的配置文件:

   sudo vi /etc/my.cnf

如果MySQL的配置文件不存在,则可以使用以下命令创建:

   sudo cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

2. 在MySQL的配置文件中添加以下内容:

   [mysqld]

   log-bin=mysql-bin

   server-id=1

   binlog_format=ROW

这将启用MySQL的二进制日志,并将二进制日志文件的前缀设置为mysql,将MySQL服务器的ID设置为1,并将二进制日志格式设置为ROW。

3. 重新启动MySQL服务。可以使用以下命令重新启动MySQL服务:

   sudo systemctl restart mysqld

4. 确认MySQL已经启用了二进制日志,并且二进制日志格式为ROW。可以使用以下命令登录MySQL并执行SHOW VARIABLES LIKE 'log_bin';和SHOW VARIABLES LIKE 'binlog_format';命令:

   mysql -u root -p

   SHOW VARIABLES LIKE 'log_bin';

   SHOW VARIABLES LIKE 'binlog_format';

如果输出的结果中Value列的值为ON,则表示MySQL已经启用了二进制日志,并且二进制日志格式为ROW。

5.设置mysql的binlog文件保存过期时间:

        在MySQL的配置文件中添加以下内容:

   [mysqld]
   log-bin=mysql-bin
   server-id=1
   expire_logs_days=7      #清除binlog周期,天

四、数据库操作

1.增加数据库mysql下usr表用户:参见用户表新增sql文件

2.导出的sql文件需要去除mysql、information_schema、performance_schema三个数据库。

五、注意事项

使用sudo systemctl 会报错,但是使用service mysql start不报错:

例如:   sudo systemctl status mysqld

如图:

实际数据库已经启动:

六、问题:

 问题1:

mysql -u root -p

-bash: mysql: 未找到命令

解决方法:

确认MySQL的安装路径是否在系统的PATH环境变量中。可以使用以下命令检查系统的PATH环境变量:

如果MySQL的安装路径不在系统的PATH环境变量中,则可以使用以下命令将其添加到PATH环境变量中:

   export PATH=$PATH:/path/to/mysql/bin

其中,/path/to/mysql/bin应替换为MySQL的安装路径。

3. 如果MySQL已经安装并且其安装路径已经在系统的PATH环境变量中,则可以尝试重新安装MySQL客户端。可以使用以下命令重新安装MySQL客户端:

   sudo yum reinstall mysql

问题2:

Starting MySQL.... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

解决方法:

这个错误提示表明在启动MySQL服务时出现了问题,导致MySQL服务器无法更新PID文件。要解决这个问题,可以按照以下步骤进行操作:

  1. 检查MySQL配置文件。可以使用以下命令检查MySQL配置文件是否存在:

   ls /etc/my.cnf

如果MySQL配置文件不存在,则可以使用以下命令创建:

   sudo cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  1. 检查MySQL数据目录的权限。可以使用以下命令检查MySQL数据目录的权限:

   ls -ld /data/mysql

如果MySQL数据目录的权限不正确,则可以使用以下命令更改权限:

   chmod 755 /data/mysql

  1. 检查MySQL数据目录是否存在。可以使用以下命令检查MySQL数据目录是否存在:

   ls /data/mysql

如果MySQL数据目录不存在,则可以使用以下命令创建:

   mkdir /data/mysql

   chown mysql:mysql /data/mysql

  1. 启动MySQL服务。可以使用以下命令启动MySQL服务:

service mysql start

  1. 确认MySQL服务已经启动。可以使用以下命令检查MySQL服务是否已经启动:

ps -ef|grep mysql

systemctl status mysqld

如果MySQL服务已经启动,则应该输出active (running)。

问题3:

Failed to start MariaDB 10.3.18 database server.  #MariaDB启动失败

解决方法:

如果在启动MariaDB 10.3.18数据库服务器时出现了错误,可以按照以下步骤进行操作:

1. 检查MariaDB的日志文件。可以使用以下命令检查MariaDB的日志文件:

   sudo tail -f /var/log/mariadb/mariadb.log

这将显示MariaDB的日志文件的最后几行。如果有任何错误或警告消息,则应该在日志文件中显示。

2. 检查MariaDB的配置文件。可以使用以下命令检查MariaDB的配置文件是否存在:

   ls /etc/my.cnf.d/server.cnf

如果MariaDB的配置文件不存在,则可以使用以下命令创建:

   sudo cp /usr/share/mysql/my-medium.cnf /etc/my.cnf.d/server.cnf

3. 检查MariaDB数据目录的权限。可以使用以下命令检查MariaDB数据目录的权限:

   ls -ld /var/lib/mysql

如果MariaDB数据目录的权限不正确,则可以使用以下命令更改权限:

   sudo chmod 755 /var/lib/mysql

4. 检查MariaDB数据目录是否存在。可以使用以下命令检查MariaDB数据目录是否存在:

   ls /var/lib/mysql

如果MariaDB数据目录不存在,则可以使用以下命令创建:

   sudo mkdir /var/lib/mysql

   sudo chown mysql:mysql /var/lib/mysql

5. 启动MariaDB服务。可以使用以下命令启动MariaDB服务:

   sudo systemctl start mariadb

6. 确认MariaDB服务已经启动。可以使用以下命令检查MariaDB服务是否已经启动:

ps -ef|grep mariadb

如果MariaDB服务已经启动,则应该输出active (running)。

总之,要解决Failed to start MariaDB 10.3.18 database server错误提示,需要检查MariaDB的日志文件、配置文件、数据目录的权限和是否存在、MariaDB服务是否已经启动,并进行必要的更改。如果MariaDB的配置文件不存在,则需要创建。如果MariaDB数据目录的权限不正确,则需要更改权限。如果MariaDB数据目录不存在,则需要创建。如果MariaDB服务没有启动,则需要启动MariaDB服务。

问题4:

在执行SQL查询时出现了语法错误,具体原因是ORDER BY子句中的列不在GROUP BY子句中,且该列不是函数依赖于GROUP BY子句中的列,这与MySQL的sql_mode=only_full_group_by不兼容。

解决方法:

1.查询原有的sql_mode配置:

在Navicat上或服务器连接mysql以后:select @@global.sql_mode

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2.修改数据库配置(永久生效)

修改配置文件my.cnf  (路径:/etc/my.cnf)

在[mysqld]模块下新增一行配置:

sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'

运行后重启,即可生效

知识点:

binlog_format=ROW是MySQL的一个配置选项,用于指定二进制日志(binlog)的格式。当binlog_format设置为ROW时,MySQL会将每个修改操作的行数据记录到二进制日志中,而不是记录SQL语句。这意味着在进行数据恢复或复制时,可以更准确地重放修改操作,因为每个修改操作的行数据都已经记录在二进制日志中。

具体来说,当binlog_format设置为ROW时,MySQL会将每个修改操作的行数据记录到二进制日志中,包括修改前和修改后的行数据。这样,在进行数据恢复或复制时,可以使用这些行数据来重建修改操作,而不是使用SQL语句。这种方式可以更准确地重放修改操作,因为它可以避免由于SQL语句的不同而导致的数据不一致问题。

二进制日志(binlog)的格式有哪些?

MySQL支持三种二进制日志(binlog)的格式,分别是STATEMENT、ROW和MIXED。这些格式可以通过binlog_format配置选项进行指定。

1. STATEMENT格式

STATEMENT格式是MySQL的默认二进制日志格式。当binlog_format设置为STATEMENT时,MySQL会将每个修改操作的SQL语句记录到二进制日志中。这意味着在进行数据恢复或复制时,可以使用这些SQL语句来重建修改操作。

但是,STATEMENT格式存在一些限制。例如,当使用非确定性函数(如NOW())或随机数函数(如RAND())时,可能会导致在主从复制中数据不一致的问题。此外,当使用存储过程或触发器时,也可能会导致数据不一致的问题。

2. ROW格式

当binlog_format设置为ROW时,MySQL会将每个修改操作的行数据记录到二进制日志中,而不是记录SQL语句。这意味着在进行数据恢复或复制时,可以更准确地重放修改操作,因为每个修改操作的行数据都已经记录在二进制日志中。

但是,ROW格式可能会导致二进制日志文件变得非常大,因为它需要记录每个修改操作的行数据。此外,当修改操作涉及到大量行数据时,也可能会导致性能问题。

3. MIXED格式

MIXED格式是STATEMENT和ROW格式的混合。当binlog_format设置为MIXED时,MySQL会根据具体情况选择使用STATEMENT格式或ROW格式。例如,对于简单的修改操作,MySQL可能会选择使用STATEMENT格式,而对于复杂的修改操作,MySQL可能会选择使用ROW格式。

MIXED格式可以兼顾STATEMENT和ROW格式的优点,但也存在一些限制。例如,当使用非确定性函数或随机数函数时,可能会导致在主从复制中数据不一致的问题。

总之,MySQL支持三种二进制日志的格式,分别是STATEMENT、ROW和MIXED。这些格式可以通过binlog_format配置选项进行指定。STATEMENT格式记录SQL语句,ROW格式记录行数据,MIXED格式是STATEMENT和ROW格式的混合。在选择二进制日志格式时,需要根据具体情况进行权衡和选择。

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

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

相关文章

excel导出百万数据与进度条展示

前言 需求&#xff1a;用户在UI界面上选择想要导出的列&#xff0c;然后点击导出按钮&#xff0c;就能导出用户想要的数据。 效果展示 可能会产生的问题 1.如果同步到数据&#xff0c;接口很容易造成超时。 2.如果把数据一次性装载到内存里&#xff0c;很容易造成OOM与GC。 3…

【计算机网络自顶向下】简答题习题总结(二)

目录 第二章 应用层 HTTP FTP文件传输协议 电子邮件 域名系统DNS 内容分发网络CDN 常考问题 题目 第二章 应用层 HTTP 网页&#xff08;Web页&#xff0c;或称文档&#xff09;由许多对象组成&#xff0c;每个对象被一个URL(Uniform Resource Locator统一资源定位符)寻…

帅呆!接口开发不用写Controller、Service、Dao、Mapper、XML、VO,全自动生成

今天给小伙伴们介绍一个Java接口快速开发框架-magic-api 简介 magic-api 是一个基于 Java 的接口快速开发框架&#xff0c;编写接口将通过 magic-api 提供的 UI 界面完成&#xff0c;自动映射为 HTTP 接口&#xff0c;无需定义 Controller、Service、Dao、Mapper、XML、VO 等…

MySQL连环炮,你抗的住嘛?

最近后台好多小伙伴发私信咨询阿Q&#xff0c;问马上就是金九银十的面试黄金期了&#xff0c;该如何在三个月内突击一下&#xff0c;以便更好地通过面试呢&#xff1f; 有想赚点外块|技术交流的朋友&#xff0c;欢迎来撩 阿Q的想法就是需要对自己掌握的知识进行归纳整理&#x…

云原生应用交付平台Orbit设计理念与价值主张

本文作者&#xff1a;何文强——腾讯云 CODING 高级架构师。 负责 CODING DevOps产品解决方案架构设计和技术产品布道以及 CODING 云原生技术研究与落地实践。在多个技术大会担任演讲嘉宾&#xff0c;腾讯云 CODING DevOps 课程认证出品人&#xff0c;腾讯云云原生训练营核心初…

论文解读:DETRs Beat YOLOs on Real-time Object Detection

发表时间&#xff1a;2023 论文地址&#xff1a;https://arxiv.org/abs/2304.08069 项目地址&#xff1a;https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr 【官方】 或 https://github.com/ultralytics/ultralytics/tree/main/ultralytics/vit/r…

大数据云计算运维之HA高可用服务搭建

HA高可用服务搭建 1、HA Cluster高可用集群 HA是High Available缩写。 HA Cluster是指高可用性集群&#xff0c;是保证业务连续性的有效解决方案&#xff0c;一般 有两个或两个以上的节点&#xff0c;且分为活动节点及备用节点。 FailOver&#xff1a;故障自动切换&#xff…

前端后端交互-ElementUI(日期选择器)

日期选择器 页面效果 页面效果 组件源码 <!-- daterange: 范围选择类型format: 绑定后表单中显示的格式value-format: 传递时显示的格式--> <template><el-date-picker v-model"rangeTime" type"daterange" range-separator"至" …

RabbitMQ使用延迟插件,代码量直接减少一半!

今天介绍一下使用RabbitMQ的延迟插件方便实现延迟消息的方案。 RabbitMQ 是一个由 Erlang 语言开发的 AMQP(高级消息队列协议) 的开源实现。 RabbitMQ 是轻量级且易于部署的&#xff0c;能支持多种消息协议。 RabbitMQ 可以部署在分布式和联合配置中&#xff0c;以满足高规模…

【立体视觉(四)】之极线校正与双目视觉

【立体视觉&#xff08;四&#xff09;】之极线校正与双目视觉 一、极线校正一&#xff09;Fusiello校正法1. 转换矩阵计算1&#xff09;计算旋转矩阵 R n R_n Rn​2&#xff09;计算内参矩阵 K n K_n Kn​3&#xff09;计算转换矩阵 T T T 2. 核线影像生成 二、双目视觉 此…

css基础知识五:CSS中,有哪些方式可以隐藏页面元素?区别?

一、前言 在平常的样式排版中&#xff0c;我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种&#xff0c;它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同&#xff0c;这些不同决定了在一些特定场合下使用哪一种方法 二、实现方式 通过…

【IC设计】ICC1 workshop lab guide 学习笔记——Lab 2 Design Planning Task1-4

文章目录 Lab 2 Design Planning2.1 Load the Design2.2 Initialize the Floorplan2.3 Preplace the Macros Connected to I/O Pads2.4 Perform Virtual Flat Placement Lab 2 Design Planning 2.1 Load the Design 进入lab2_dp目录并打开icc_shell&#xff0c;打开orca_lib.…

雪花去噪算法学习记录(一)之基础知识

在进行实验过程中&#xff0c;需要完成对雪天图像的处理&#xff0c;其中一个主要操作为去雪。相较于去雾&#xff0c;去雨模型&#xff0c;去雪模型相对较少&#xff0c;因此在研究时所能够借鉴的资料有限&#xff0c;这对我们的研究造成了一定困扰。 模型算法 DesnowNet网络…

[VPN]华为SecoClient客户端Linux使用

准备 安装环境&#xff1a;CentOS 下载安装包&#xff1a; # wget http://www.corem.com.cn/sites/default/files/tools/secoclient/secoclient-linux-64-7.0.2.26.run 安装 在root用户下&#xff0c;执行&#xff1a; # chmod x secoclient-linux-64-7.0.2.26.run # ./secoc…

瞎搞!你真的懂什么是ERP、中台、低代码吗?

企业数字化领域从来都不缺新概念 从制造资源计划到中台&#xff0c;企业MRP报表数字还没对齐&#xff0c;就要忙着“去烟囱”化&#xff1b; 从中台到低代码&#xff0c;企业“数据孤岛”还没打通&#xff0c;又要忙着“赋能数字化能力”给业务人员了。 这一来二去&#xff0c;…

已有仓库,上传代码,如果你是先写代码,想上传git上你可以这样操作

已有仓库,上传代码&#xff0c;如果你是先写代码&#xff0c;想上传git上你可以这样操作 第一步&#xff1a;初始化 git git init 第二步&#xff1a;添加文件 git add * 第三步&#xff1a;提交文件 git commit -m "完整项目可直接下载使用" 第四步&#xff1a;配置…

【MySql】MySql索引的操作

文章目录 索引结构问题聚簇索引与非聚簇索引索引操作创建主键索引唯一索引创建普通索引创建全文索引创建删除索引查询索引索引创建原则 索引结构问题 InnoDB 在建立索引结构来管理数据的时候&#xff0c;其他数据结构为何不行 链表:线性遍历,在效率上是不合适的 二叉搜索树&am…

如何用Jmeter提取和引用Token

1.执行获取token接口 在结果树这里&#xff0c;使用$符号提取token值。 $根节点&#xff0c;$.data.token表示提取根节点下的data节点下的token节点的值。 2.使用json提取器&#xff0c;提取token 变量路径就是把在结果树提取的路径写上。 3.使用BeanShell取样器或者BeanShell后…

在 Navicat Premium 中管理 MySQL 用户 | 第 2 部分:创建新用户

第 2 部分&#xff1a;创建新用户 第 2 部分&#xff1a;创建新用户 第 1 部分 中&#xff0c;我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL 的 root 帐号。本篇文章将集中介绍如何设置新用户的帐号详细信息、帐号限制和 SSL 设置。如果你想边学边用&#xff1…

做好用户体验设计 关键看5个方面

用户来了就走&#xff0c;用户吐槽不好用&#xff0c;用户留不住&#xff0c;好的功能没人用&#xff0c;这到底是怎么回事&#xff1f;问题关键在于好的用户体验设计&#xff0c;而做好用户体验设计&#xff0c;关键看5个方面&#xff1a; 1、是否有用 我们需要考量产品。对用…