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


    1.7.1 采用MySQL_upgrade升级授权表方式升级(1)

    这种升级方式比较省事,通过MySQL_upgrade命令即可完成。下面来演示一下整个升级过程。

    1)修改my.cnf配置文件,因为MySQL5.1里的参数在5.5版本里已经不识别了。
     

    1. #skip-locking  在5.5里已经不识别了,改成  
    2. skip-external-locking  
    3.  
    4. #log-long-format  在5.5里已经不识别了,改成  
    5. log-short-format  
    6.  
    7. #log_slow_queries  在5.5里已经不识别了,改成  
    8. slow-query-log  
    9.  
    10. #default-character-set = utf8  在5.5里已经不识别了,改成  
    11. character-set-server = utf8 
    12.  
    13. #注释掉default_table_type = MyISAM? 在5.5里已经不识别了  
    14.  
    15. #注释掉MyISAM_max_extra_sort_file_size  在5.5里已经不识别了  
    16.  
    17. #innodb_file_io_threads已经不识别了,改成  
    18. innodb_read_io_threads = 
    19. innodb_write_io_threads = 
    20.  
    21. # 把以前的built-in文件格式改为Barracuda  
    22. innodb_file_format = Barracuda 
    23. #注释掉同步的信息,否则启动时报错  
    24. #master-host = 192.168.110.20  
    25. #master-user = repl 
    26. #master-password = repl 
    27. #master-connect-retry=30 
    28. #另如果你采用了InnoDB-Plugin,还要注销掉  
    29. #ignore_builtin_innodb  
    30. #plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_i 
    31. nnodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_c  
    32. 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,64位,XFS分区,MySQL5.5.20二进制版本。

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

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

        注意

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

  • 相关阅读:
    LeetCode——376.摆动序列
    kaggle——分销商产品未来销售情况预测
    LeetCode——264. 丑数 II
    LeetCode——71.简化路径
    LeetCode——15. 三数之和
    kaggle——NFL Big Data Bowl 2020 Official Starter Notebook
    LeetCode——199. 二叉树的右视图
    数据结构与算法——哈希函数和哈希表等(2)
    数据结构与算法——哈希函数与哈希表等(1)
    Python——Pandas 时间序列数据处理
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/5668505.html
Copyright © 2020-2023  润新知