实现:mysql-5.7.42 到 mysql-8.2.0 的升级(二进制方式)

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(二进制方式)

  • 1、操作环境
    • 1、查看当前数据库版本
    • 2、操作系统版本
    • 3、查看 Linux 系统上的 glibc(GNU C 库)版本(**`这里很重要,要下载对应的内核mysql版本`**)
  • 2、升级准备
    • 1、使用mysql-shell 检查工具检查兼容性
  • 3、mysqldump 导出数据文件和备份my.cnf
  • 4、备份旧版mysql-5.7.42 安装目录下的文件和my.cnf文件(重要)
  • 5、删除旧版安装目录/usr/local/mysql下(bin、docs、includ、lib、share、support-files、LICENSE、README);
  • 6、备份mysqld 启动文件
  • 7、上传、解压安装包(开始升级)
  • 8、复制新版启动文件到/etc/init.d/
  • 9、修改mysqld参数
  • 10、启动数据库
  • 11、升级验证


💖The Begin💖点点关注,收藏不迷路💖

在这里插入图片描述

注:本文在测试环境升级测试,建议先在测试环境验证。在生产环境下还是先评估下,mysql-5.7.42为二进制方式安装,所以用mysql-8.2.0二进制包升级

1、操作环境

1、查看当前数据库版本

mysql> select@@version;
+-----------+
| @@version |
+-----------+
| 5.7.42    |
+-----------+
1 row in set (0.00 sec)mysql> 

2、操作系统版本

[root@zyl-server ~]#  cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@zyl-server ~]# 
[root@zyl-server ~]# 

3、查看 Linux 系统上的 glibc(GNU C 库)版本(这里很重要,要下载对应的内核mysql版本

ldd --version或者
rpm -q glibc**查看当前系统中的libstdc++版本:**strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

在这里插入图片描述

否则后面升级完成后,启动mysql会报错:

在这里插入图片描述
报错如下:

错误表明在启动MySQL服务时出现了一些问题。主要的错误信息是关于缺少特定库文件的版本,比如GLIBCXX_3.4.20、CXXABI_1.3.9、CXXABI_1.3.8、GLIBCXX_3.4.21以及GLIBC_2.25

这是由于安装的MySQL版本与系统中可用的标准库版本不兼容导致的(所以要对应下载相应的内核版本)。

Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /usr/local/mysql/bin/../lib/private/libcrypto.so.3
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/mysql/bin/my_print_defaults)
Mar 20 21:10:55 db-mysql mysqld[7127]: /usr/local/mysql/bin/my_print_defaults: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /usr/local/mysql/bin/../lib/private/libcrypto.so.3

2、升级准备

1、数据备份:在升级之前,务必对当前的 MySQL 5.7 数据库进行完整备份,以防止数据丢失或损坏。确保备份文件的安全存储,并测试其可恢复性。

2、安全性考虑:建议在测试环境中进行升级测试,以模拟真实场景并检测潜在问题。这有助于减少生产环境中的不确定性和风险。

1、使用mysql-shell 检查工具检查兼容性

下载地址:https://downloads.mysql.com/archives/shell/

在这里插入图片描述

上传mysql-shell:
在这里插入图片描述

安装 mysql-shell rpm 软件包::

rpm -Uvh mysql-shell-8.2.0-1.el7.x86_64.rpm --force --nodeps

查看 mysql-shel安装版本:

mysqlsh --version

在这里插入图片描述

检查该版本是否可以升级到MySQL 8.2.0:

mysqlsh -uroot -p -S /tmp/mysqld.sock -e "util.checkForServerUpgrade()" 

注意:mysql.sock 地址在/etc/my.cnf 文件中查看。

在这里插入图片描述

检查结果报告:

[root@db-mysql ~]# mysqlsh -uroot -p -S /tmp/mysqld.sock -e "util.checkForServerUpgrade()" 
Please provide the password for 'root@/tmp%2Fmysqld.sock': ******
Save password for 'root@/tmp%2Fmysqld.sock'? [Y]es/[N]o/Ne[v]er (default No): 
The MySQL server at /tmp%2Fmysqld.sock, version 5.7.42 - MySQL Community Server
(GPL), will now be checked for compatibility issues for upgrade to MySQL
8.2.0...1) Usage of old temporal typeNo issues found2) MySQL 8.0 syntax check for routine-like objectsNo issues found3) Usage of db objects with names conflicting with new reserved keywordsNo issues found4) Usage of utf8mb3 charsetWarning: The following objects use the utf8mb3 character set. It isrecommended to convert them to use utf8mb4 instead, for improved Unicodesupport.More information:https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.htmldb_update - schema's default character set: utf8db_update.users.name - column's default character set: utf8db_update.users.email - column's default character set: utf85) Table names in the mysql schema conflicting with new tables in 8.0No issues found6) Partitioned tables using engines with non native partitioningNo issues found7) Foreign key constraint names longer than 64 charactersNo issues found8) Usage of obsolete MAXDB sql_mode flagNo issues found9) Usage of obsolete sql_mode flagsNotice: The following DB objects have obsolete options persisted forsql_mode, which will be cleared during upgrade to 8.0.More information:https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removalsglobal system variable sql_mode - defined using obsolete NO_AUTO_CREATE_USERoption10) ENUM/SET column definitions containing elements longer than 255 charactersNo issues found11) Usage of partitioned tables in shared tablespacesNo issues found12) Circular directory references in tablespace data file pathsNo issues found13) Usage of removed functionsNo issues found14) Usage of removed GROUP BY ASC/DESC syntaxNo issues found15) Removed system variables for error logging to the system log configurationTo run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionaryMore information:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-13.html#mysqld-8-0-13-logging16) Removed system variablesTo run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionaryMore information:https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html#optvars-removed17) System variables with new default valuesTo run this check requires full path to MySQL server configuration file to be specified at 'configPath' key of options dictionaryMore information:https://mysqlserverteam.com/new-defaults-in-mysql-8-0/18) Zero Date, Datetime, and Timestamp valuesNo issues found19) Schema inconsistencies resulting from file removal or corruptionNo issues found20) Tables recognized by InnoDB that belong to a different engineNo issues found21) Issues reported by 'check table x for upgrade' commandNo issues found22) New default authentication plugin considerationsWarning: The new default authentication plugin 'caching_sha2_password' offersmore secure password hashing than previously used 'mysql_native_password'(and consequent improved client connection authentication). However, it alsohas compatibility implications that may affect existing MySQL installations. If your MySQL installation must serve pre-8.0 clients and you encountercompatibility issues after upgrading, the simplest way to address thoseissues is to reconfigure the server to revert to the previous defaultauthentication plugin (mysql_native_password). For example, use these linesin the server option file:[mysqld]default_authentication_plugin=mysql_native_passwordHowever, the setting should be viewed as temporary, not as a long term orpermanent solution, because it causes new accounts created with the settingin effect to forego the improved authentication security.If you are using replication please take time to understand how theauthentication plugin changes may impact you.More information:https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-compatibility-issueshttps://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-replication23) Columns which cannot have default valuesNo issues found24) Check for invalid table names and schema names used in 5.7No issues found25) Check for orphaned routines in 5.7No issues found26) Check for deprecated usage of single dollar signs in object namesNo issues found27) Check for indexes that are too large to work on higher versions of MySQL
Server than 5.7No issues found28) Check for deprecated '.<table>' syntax used in routines.No issues found29) Check for columns that have foreign keys pointing to tables from a diffrent
database engine.No issues foundErrors:   0
Warnings: 4
Notices:  1NOTE: No fatal errors were found that would prevent an upgrade, but some potential issues were detected. Please ensure that the reported issues are not significant before upgrading.

检查结果显示:

没有发现使用旧时态类型的问题
没有发现与MySQL 8.0语法相关的问题
没有发现与数据库对象名称与新保留关键字冲突的问题
发现某些对象使用了utf8mb3字符集,建议转换为utf8mb4以获得更好的Unicode支持
没有发现与mysql模式中的表名冲突的问题
没有发现使用具有非本地分区的引擎的分区表的问题
没有发现外键约束名称超过64个字符的问题
没有发现使用已弃用的MAXDB sql_mode标志的问题
发现一些DB对象已经使用了过时的sql_mode选项
没有发现ENUM/SET列定义中包含超过255个字符的元素的问题
没有发现在共享表空间中使用分区表的问题
没有发现表空间数据文件路径中存在循环目录引用的问题
没有发现使用已删除函数的问题
没有发现已删除的GROUP BY ASC/DESC语法的问题
无法运行需要指定完整MySQL服务器配置文件路径的日志系统变量检查
无法运行需要指定完整MySQL服务器配置文件路径的已删除系统变量检查
无法运行需要指定完整MySQL服务器配置文件路径的新默认值系统变量检查
没有发现零日期、日期时间和时间戳值的问题
没有发现由文件删除或损坏导致的模式不一致的问题
没有发现被InnoDB识别为属于不同引擎的表的问题
没有发现通过'check table x for upgrade'命令报告的问题
发现新的默认身份验证插件引入了兼容性问题,建议在升级后重新配置服务器以恢复到以前的默认身份验证插件
没有发现不能有默认值的列的问题
没有发现在5.7中使用的无效表名和模式名的问题
没有发现在5.7中遗留存储过程的问题
没有发现在对象名称中使用单个美元符号的已弃用用法
没有发现在高于MySQL Server 5.7版本上工作的索引过大的问题
没有发现在例程中使用已弃用'.<table>'语法的问题
没有发现具有外键指向不同数据库引擎的表的列的问题总结:错误:0
警告:4
注意事项:1

总结来说,检查未发现会阻止升级的致命错误,但检测到了一些潜在问题。在升级之前,请确保报告的问题并不重要。

3、mysqldump 导出数据文件和备份my.cnf

[root@db-mysql ~]#  mysqldump -hlocalhost -uroot -p --all-databases > /home/db_back_2024.sql
Enter password: 
[root@db-mysql ~]# cd /home/                 
[root@db-mysql home]# ll
total 872
-rw-r--r--  1 root   root     889253 Mar 20 20:25 db_back_2024.sql
drwx------  2 oracle oinstall    127 Mar 18 05:12 oracle
drwx------. 2 zyl    zyl          62 Mar 16 22:24 zyl
[root@db-mysql home]# cp /etc/my.cnf /home/5.7.37_my.cnf[root@zyl-mysql home]# 

在这里插入图片描述

升级前先停止数据库。

[root@db-mysql home]# systemctl stop mysqld

4、备份旧版mysql-5.7.42 安装目录下的文件和my.cnf文件(重要)

这里的安装目录在/usr/local/mysql,根据自己实际备份。

在这里插入图片描述

cd /usr/local/mkdir mysql-5.7.42_bk##全部备份 mysql目录下的文件
cp -R mysql/* mysql-5.7.42_bk### 或者直接压缩
### tar -zcvf mysql-5.7.42_bk.tar.gz mysql
[root@db-mysql bin]# tar zcf mysql-5.7.42_bk.tar.gz mysql

在这里插入图片描述

5、删除旧版安装目录/usr/local/mysql下(bin、docs、includ、lib、share、support-files、LICENSE、README);

在这里插入图片描述

cd /usr/local/mysqlrm -rf bin
rm -rf docs
rm -rf include
rm -rf lib
rm -rf README
rm -rf LICENSE
rm -rf share
rm -rf support-files
rm -rf man

在这里插入图片描述

6、备份mysqld 启动文件

先备份/etc/init.d/ 下的mysqld 再 删除/etc/init.d/ 下的mysqld

cd /etc/init.d/tar zcf mysqld_5.7.42.tar.gz mysqldrm -rf /etc/init.d/mysqld

在这里插入图片描述

7、上传、解压安装包(开始升级)

下载mysql8.2.0:

https://downloads.mysql.com/archives/community/

在这里插入图片描述

创建"mysql8.2.0-glibc"的文件夹,用于存放解压文件。

mkdir /root/mysql8.2.0-glibc##解压
tar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar -C /root/mysql8.2.0-glibc

在这里插入图片描述

##继续解压 
cd /root/mysql8.2.0-glibctar -xvf mysql-8.2.0-linux-glibc2.28-x86_64.tar.xz

在这里插入图片描述

将新解压的mysql-8.2.0目录复制到原来mysql安装目录下(/usr/local/mysql/),并修改文件权限。

[root@db-mysql mysql8.2.0-glibc]# mv mysql-8.2.0-linux-glibc2.17-x86_64/* /usr/local/mysql

在这里插入图片描述

##修改文件权限chown -R mysql:mysql /usr/local/mysql

在这里插入图片描述

8、复制新版启动文件到/etc/init.d/

将新解压的mysql-8.2.0 的mysqld复制到/etc/init.d/ 下。

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

在这里插入图片描述

9、修改mysqld参数

vi /etc/init.d/mysqld

和旧版保持一致。

datadir=/usr/local/mysql/data
basedir=/usr/local/mysql

在这里插入图片描述

10、启动数据库

[root@db-mysql ~]# systemctl daemon-reload
[root@db-mysql ~]# 
[root@db-mysql ~]# systemctl start mysqld
[root@db-mysql ~]# 
[root@db-mysql ~]# systemctl status mysqld

在这里插入图片描述

11、升级验证

1、检查登录正常

mysql -u root -p[root@db-mysql mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.2.0 MySQL Community Server - GPLCopyright (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> 

2、检查升级版本

已由mysql-5.7.42 升级到 mysql-8.2.0 。

mysql> select@@version;
+-----------+
| @@version |
+-----------+
| 8.2.0     |
+-----------+
1 row in set (0.00 sec)mysql> 

在这里插入图片描述
3、检查数据

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| db_update          |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec)mysql> use db_update;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+---------------------+
| Tables_in_db_update |
+---------------------+
| users               |
+---------------------+
1 row in set (0.00 sec)mysql> select * from users;
+----+---------+------+---------------------+
| id | name    | age  | email               |
+----+---------+------+---------------------+
|  1 | Alice   |   25 | alice@example.com   |
|  2 | Bob     |   30 | bob@example.com     |
|  3 | Charlie |   22 | charlie@example.com |
|  4 | David   |   28 | david@example.com   |
|  5 | Eve     |   35 | eve@example.com     |
+----+---------+------+---------------------+
5 rows in set (0.00 sec)mysql> 

在这里插入图片描述

❤️‍🔥 写在最后:一定要下载与Linux 系统上的 glibc(GNU C 库)版本对应的mysql版本)

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

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

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

相关文章

Linux 进程管理工具top ps

概述 top 和 ps 是 Linux 系统中两个非常重要的用于管理和监控进程的命令工具。以下是它们的主要功能和区别&#xff1a; top&#xff1a; 动态视图&#xff1a;top 提供了一个实时动态更新的视图&#xff0c;能够持续显示系统中当前正在运行的进程信息及其资源占用情况。 系统…

注意力机制 self-attention 的原理探究

一、点积的认识 向量的点积可以表示相似性的原因在于它衡量了两个向量之间的方向是否相似。当两个向量的方向趋于一致时&#xff0c;它们的点积会更大&#xff1b;当两个向量的方向趋于相互垂直时&#xff0c;它们的点积会接近于0。这种性质使得点积在衡量向量之间的相似性和相…

ins中扰动分析举例

扰动分析很重要&#xff0c;搞明白扰动分析&#xff0c;基本上就可以清楚了误差模型。 什么是扰动分析&#xff1a; 简单理解 测量值 真值 误差 这里的误差就是与测量直接对应的误差&#xff0c;例如 把误差分离出来 误差 测量值 - 真值 &#xff…

Docker基本配置及使用

Docker基本配置及使用 使用步骤 1.卸载旧版 代码如下&#xff1a;首先如果系统中已经存在旧的Docker&#xff0c;则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engin…

网站首页添加JS弹屏公告窗口教程

很多小白站长会遇到想给自己的网站添加一个弹屏公告&#xff0c;用于做活动说明、演示站提示等作用与目的。 下面直接上代码&#xff1a;&#xff08;直接复制到网页头部、底部php、HTML文件中&#xff09; <script src"https://www.mohuda.com/site/js/sweetalert.m…

0基础学习VR全景平台篇第145篇:图层控件功能

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01;这期&#xff0c;我们将为大家介绍如何使用图层控件功能。 一.如何使用图层控件功能&#xff1f; 进入作品编辑页面&#xff0c;点击左边的控件后就可以在右边进行相应设置。 二.图层控件有哪些功能&am…

款海韵-650LX:电流参数是最大电流!

其实&#xff0c;在选择电源时&#xff0c;不需要担心峰值功率和额定功率。 您只需检查参数是否与您相应部件的功率匹配即可。 1.首先需要了解各个参数的含义。 电源上有5个电压参数&#xff0c;分别是12V、5V、3.3V、5VSB、-12V。 12V为CPU、显卡和机械硬盘的电机部分供电。 …

Linux课程_____用户的管理

一、规则 用户至少属于一个组,在创建时如果不指定组,将会创建同名的组 用户只能有一个基本组(主组),但可以隶属于多个附加组 如果一个组作为某用户的基本组,此组将不能被删除 UID: 用户标识 GID: 组的标识 root管理员的uid及gid 都为0 二、用户的配置文件 1./etc/passwd …

3/19作业

select实现的TCP并发服务器 #include <myhead.h> #define SER_PORT 8888 #define SER_IP "192.168.47.130"int main(int argc, const char *argv[]) {int sfd -1;sfd socket(AF_INET,SOCK_STREAM,0);if(sfd -1){perror("socket");return -1;}pri…

resize-observer源码解读

resize-observer github 地址&#xff1a;https://github.com/devrelm/resize-observer 本地启动 npm installnpm startnode 18.16.0 (npm 9.5.1) 启动失败报错 node:internal/crypto/hash:71this[kHandle] new _Hash(algorithm, xofLen);^Error: error:0308010C:digital …

【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【模拟】2023C-攀登者2【欧弟算法】全网注释最详细分类最全的华为OD真题题解

有LeetCode算法/华为OD考试扣扣交流群可加 948025485 可上全网独家的 欧弟OJ系统 练习华子OD、大厂真题 绿色聊天软件戳 od1336了解算法冲刺训练 文章目录 题目描述与示例题目描述输入描述输出描述 示例输入输出 解题思路原路返回和非原路返回原路返回走过的总路程从左边空地出…

流畅的Python(二十一)-类元编程

一、核心要义 1.类元编程时指在运行时创建或定制类的技艺 2.类是一等对象,因此任何时候都可以使用函数新建类&#xff0c;而无需使用class关键字 3.类装饰器也是函数&#xff0c;不过能够审查、修改&#xff0c;甚至把被装饰的类替换为其它类。 4.元类(type类的子类)类编程…

内网渗透学习-环境搭建

1、环境搭建测试 虚拟机网络环境配置&#xff0c;模拟外网和内网 主机操作系统网络内网ip外网ip物理主机window10vmnet8192.168.70.1攻击机kali Linuxvmnet8192.168.70.134域控主机win server 2008 r2vmnet0192.168.52.138域成员主机win server 2k3vmnet0192.168.52.141服务器…

HarmonyOS NEXT应用开发之swiper指示器导航点位于swiper下方

介绍 本示例介绍通过分割swiper区域&#xff0c;实现指示器导航点位于swiper下方的效果。 效果预览图 使用说明 加载完成后swiper指示器导航点&#xff0c;位于显示内容下方。 实现思路 将swiper区域分割为两块区域&#xff0c;上方为内容区域&#xff0c;下方为空白区域。…

【数据结构】链表力扣刷题详解

前言 题目链接 移除链表元素 链表的中间结点 反转链表 分割链表 环形链表的约瑟夫问题 ​ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 移除链表元素 题述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请…

【Spring Cloud Gateway】路由配置uri三种方式及区别

websocket配置方式 ws:// 或 wss:// 开头的 URI&#xff0c;表示配置的是支持 Websocket 协议的目标地址。 这种方式适用于需要与客户端建立长连接、实现双向通信的场景&#xff0c;比如实时消息推送、即时聊天等。 使用 Websocket 配置方式可以让 Spring Cloud Gateway 能够…

代理IP品质对Tik Tok代理的重要性

随着Tik Tok的迅速崛起&#xff0c;越来越多的人开始关注如何透过Tik Tok进行行销和推广。其中&#xff0c;使用Tik Tok代理程式是常见的方法。 然而&#xff0c;在选择和使用代理时&#xff0c;IP品质是一个不可忽视的因素。本文将探讨IP品质对Tik Tok代理的重要性&#xff0…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridRow)

栅格布局可以为布局提供规律性的结构&#xff0c;解决多尺寸多设备的动态布局问题&#xff0c;保证不同设备上各个模块的布局一致性。 栅格容器组件&#xff0c;仅可以和栅格子组件(GridCol)在栅格布局场景中使用。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本…

初中分班怎么分按什么标准

初中是学生生涯中一个重要的阶段&#xff0c;它承接着小学的基础教育&#xff0c;同时为高中的深入学习打下基础。在这个关键时期&#xff0c;分班成为学校、家长和学生共同关注的焦点。那么&#xff0c;初中分班是按照什么标准来进行的呢&#xff1f; 学业成绩是初中分班的首要…

考研复习C语言进阶(4)

1. 为什么存在动态内存分配 我们已经掌握的内存开辟方式有&#xff1a; int val 20;//在栈空间上开辟四个字节 char arr[10] {0};//在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的方式有两个特点&#xff1a; 1. 空间开辟大小是固定的。 2. 数组在申明的时候&#…