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

posted @   雅丽梅  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示