首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

如何升级 MySQL

发布网友 发布时间:2022-04-20 07:38

我来回答

3个回答

懂视网 时间:2022-05-01 11:21

  • character-set-server = utf8 
  •  
  • #注释掉default_table_type = MyISAM? 在5.5里已经不识别了  
  •  
  • #注释掉MyISAM_max_extra_sort_file_size  在5.5里已经不识别了  
  •  
  • #innodb_file_io_threads已经不识别了,改成  
  • innodb_read_io_threads = 8 
  • innodb_write_io_threads = 8 
  •  
  • # 把以前的built-in文件格式改为Barracuda  
  • innodb_file_format = Barracuda 
  • #注释掉同步的信息,否则启动时报错  
  • #master-host = 192.168.110.20  
  • #master-user = repl 
  • #master-password = repl 
  • #master-connect-retry=30 
  • #另如果你采用了InnoDB-Plugin,还要注销掉  
  • #ignore_builtin_innodb  
  • #plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_i 
  • nnodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_c  
  • mpmem_reset=ha_innodb_plugin.so 
  • 2)修改innodb_fast_shutdown等于0。先来看一下这个参数是做什么的。
     

    技术分享

    解释:关闭MySQL时,设置为1,不会做清除脏页和插入缓冲区合并操作,也不会把脏页刷入磁盘。设置为0,会做清除脏页和插入缓冲区合并操作,并把脏页刷入磁盘,如此设置关闭速度是最慢的。设置为2,不会做清除脏页和插入缓冲区合并操作,也不会把脏页刷入磁盘,而是刷入redo log事务日志里,待其下次启动MySQL时再恢复,关闭速度是最快的。在做升级或降级操作时,应将其设置为0,保证数据的完整性,避免发生错误。该参数支持动态修改。

    设置该参数的命令如下:
     

    1. set global innodb_fast_shutdown=0; 

    关于innodb_fast_shutdown 参数的介绍,请参见MySQL5.5手册:
     

    技术分享

    3)关闭MySQL服务,命令如下:
     

    1. /etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown 

    4)跳过MySQL授权表启动MySQL服务,命令如下:
     

    1. MySQLd --defaults-file=/etc/my.cnf --skip-grant-tables & 

    5)执行更新程序,如下所示:
     

      1. [root@vm02 MySQL]# /usr/local/MySQL/bin/MySQL_upgrade  
      2. Looking for ‘MySQL‘ as: bin/MySQL  
      3. Looking for ‘MySQLcheck‘ as: bin/MySQLcheck  
      4. Running ‘MySQLcheck‘ with connection arguments: ‘--port=3306‘ ‘--socket=/tmp/MySQL.sock‘  
      5. Running ‘MySQLcheck‘ with connection arguments: ‘--port=3306‘ ‘--socket=/tmp/MySQL.sock‘  
      6. MySQL.columns_priv                                 OK  
      7. MySQL.db                                           OK  
      8. MySQL.event                                        OK  
      9. MySQL.func                                         OK  
      10. MySQL.general_log                                  OK  
      11. MySQL.help_category                                OK  
      12. MySQL.help_keyword                                 OK  
      13. MySQL.help_relation                                OK  
      14. MySQL.help_topic                                   OK  
      15. MySQL.host                                         OK  
      16. MySQL.ndb_binlog_index                             OK  
      17. MySQL.plugin                                       OK  
      18. MySQL.proc                                         OK  
      19. MySQL.procs_priv                                   OK  
      20. MySQL.servers                                      OK  
      21. MySQL.slow_log                                     OK  
      22. MySQL.tables_priv                                  OK  
      23. MySQL.time_zone                                    OK  
      24. MySQL.time_zone_leap_second                        OK  
      25. MySQL.time_zone_name                               OK  
      26. MySQL.time_zone_transition                         OK  
      27. MySQL.time_zone_transition_type                    OK  
      28. MySQL.user                                         OK  
      29. test.heartbeat                                     OK  
      30. test.log20111127                                   OK  
      31. test.log20111128                                   OK  
      32. test.log20111129                                   OK  
      33. test.log20111130                                   OK  
      34. test.log20111201                                   OK  
      35. test.log20111202                                   OK  
      36. test.log20111203                                   OK  
      37. test.log20111204                                   OK  
      38. test.log20111205                                   OK  
      39. test.log20111206                                   OK  
      40. test.log20111207                                   OK  
      41. test.t1                                                       OK  
      42. test.t2                                                       OK  
      43. Running ‘MySQL_fix_privilege_tables‘...  
      44. OK 
      45. .7.1 采用MySQL_upgrade升级授权表方式升级(2)

        6)再次关闭MySQL服务,命令如下:
         

        1. /etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown 

        7)正常启动MySQL服务,命令如下:
         

        1. MySQLd_safe  --defaults-file=/etc/my.cnf --user=MySQL & 

        8)来查看一下版本,如下所示:
         

        1. MySQL> select version();  
        2. +-----------------------------------------------------------+  
        3. | version()                                                                |  
        4. +-----------------------------------------------------------+  
        5. | 5.5.20-enterprise-commercial-advanced-log |  
        6. +-----------------------------------------------------------+  
        7. 1 row in set (0.00 sec)  
        8. MySQL> select @@innodb_version;  
        9. +----------------------------+  
        10. | @@innodb_version |  
        11. +----------------------------+  
        12. | 1.1.8                            |  
        13. +----------------------------+  
        14. 1 row in set (0.00 sec) 

        至此,升级过程完毕。

        在升级过程中,有一个需要注意的问题,这是作者之前在安装时遇到的。RHEL5.3安装MySQL5.5时出现系统崩溃(如图1-24所示),当时的环境为:系统是RHEL5.3,位,XFS分区,MySQL5.5.20二进制版本。

         

        技术分享

         

        系统崩溃时,作者用DELLDRAC远程管理卡抓的截屏如图1-25所示。

         

        技术分享

         

        可以看出,XFS文件系统在读写时出现报错。出现此问题的原因是,RHEL5.3系统内核未自带XFS文件系统,是通过往内核打补丁使之支持的,后来把系统升级为RHEL5.5,系统正常了,没有出现死机情况。

        注意

        RHEL5.5版本开始,内核支持XFS文件系统。

    采用MySQL_upgrade升级授权表方式升级

    标签:

    热心网友 时间:2022-05-01 08:29

      1、概述  通常,从一个发布版本升级到另一个版本时,我们建议按照顺序来升级版本。例如,想要升级 MySQL 3.23 时,先升级到 MySQL 4.0,而不是直接升级到 MySQL 4.1 或 MySQL 5.0。  以下是在升级 MySQL 时需要注意的事项:  仔细阅读一下升级的目标版本的新特性和改变的特性,以及2个版本之间的不同特性  升级前一定要备份所有的数据  如果是在Windows平台上升级MySQL,请阅读附录 "在Windows平台上升级MySQL"  有些不同版本间的升级可能会涉及对授权表的修改,请尤其注意这个问题,详情请阅读附录 "升级授权表"  ◆如果正在运行着同步,请阅读附录 "升级同步"  ◆如果之前运行着MySQL-Max发布版本,想要升级到非MySQL-Max发布版本时,就需要从 mysqld_safe 去掉启动 mysqld-max 服务器的参数  在同一个发布系列版本的MySQL间,可以随意拷贝格式文件和数据文件。如果在MySQL运行过程中改变了字符集,就需要对每个MyISAM表执行 "myisamchk -r -q --set-character-set=charset" 命令修复一下。否则的话,索引的排序可能不正确,因为修改了字符集,就可能会改变索引的顺序。  通常情况下,升级到新版本不需要修改任何数据表。请检查MySQL发布事项中提到的升级需要注意的地方,如果发现不能直接升级的话,就先用 mysqlmp 将数据导出来,然后再导回去。  如果担心升级失败,就先把旧版本的MySQL改个名字备份起来,以备所需。  同时,升级完之后可能还需要重新编译跟MySQL相关的程序,因为新版本的头文件和库文件可能有改变了。  如果升级后发生问题了,请先检查是否使用了旧的my.cnf配置文件,可以通过执行命令 "mysqld --print-defaults" 来打印出各种配置信息来确认。  升级的时候最好也升级类似Perl的 DBD::mysql 模块,同样,对PHP和Python而言也是一样。  2、从 MySQL 5.0 升级到 MySQL 5.1  从 5.0 升级到 5.1 的时候,必须要升级授权表。否则,可能某些存储过程无法运行。详情请看附录 "mysql_update MySQL升级时检查数据表"。  以下是从 5.0 升级到 5.1 需要注意的事项:  检查所有的变化,尤其注意那些标志为 "不兼容的变化" 的部分。详情请看附录 "mysql_update MySQL升级时检查数据表"  ◆可能某些发布版本会改变授权表的机制

    热心网友 时间:2022-05-01 09:47

    mysql
    无法平滑升级,mysql升级需要先备份数据、停机,导入数据,而且mysql的安装时间一般都较长。只要mysql没有出现重大的安全问题,一般不需要升级。

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com