MySQL 02. 升级到8.0
看到一篇不错的博客:https://blog.csdn.net/tpc4289/article/details/89511734
MySQL8.0 较之前的版本,在小细节上有不少改动,特别要注意的是data dictionary 和 账号安全方面
1.建议升级版本:必须是GA版,先从5.7.latest升级到8.0.15,然后再升级到8.0.16之后的版本
2.Upgrade Process:
数据分类:
mysql schema: data dictionary and system table
system and users' schemas
升级流程:
Step 1: mysql.data dictionay tables and IS, PS
Step 2: mysql.system tables, sys, users' schemas
升级命令:
Prior 8.0.16 : mysql_upgrade --force
After 8.0.16 : mysqld --upgrade=FORCE
3.升级前操作,参考上述博客连接
DOC:2.11.5 Preparing Your Installation for Upgrade
4.Changes In MySQL8.0
a. Data Dictionary
b. default_authentication_plugin = mysql_native_password >> caching_sha2_password
clients必须升级相应的connector,TLS/SSL credential,or RSA key pair
And : use_pure=False option
c. character set 升级前应设置为 prior version
The default value of the character_set_server and character_set_database system variables has changed from latin1 to utf8mb4.
The default value of the collation_server and collation_database system variables has changed from latin1_swedish_ci to utf8mb4_0900_ai_ci.
d. lower_case_table_names : 初始化与启动时,设置应该保持一致
e. sql_mode remove NO_AUTO_CREATE_USER, 防止 load data 失败
f. remove MYISAM, Partition engine. partition engine must be InnoDB.
5.In-Place Upgrade
2.11.6 Upgrading MySQL Binary or Package-based Installations
6.rebuild table : alter table name engine = InnoDB; // 仅用于InnoDB
repair table/ index : // 仅用于MyISAM, CSV, ARCHIVE
repair table name;
mysqlcheck --repair [ --databases db_name | --all-databases ]
7. migration:
mysqldump [ --compress] db_name | mysql -h remote-server db_name
mysqldump --quick db_name | gzip db_name.gz && gunzip < db_name.gz | mysql db_name
更快速的方法:mysqldump + mysqlimport
mysqldump --tab=dump_path db_name // 分离表:定义sql 和 数据 txt
transfer to remote server
cat dump_path/*.sql | mysql db_name
mysqlimport db_name dump_path/*.txt
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~