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

采用MySQL_upgrade升级授权表方式升级的更多相关文章

  1. Oracle-11g-R2(11.2.0.3.x)RAC Oracle Grid & Database 零宕机方式升级 PSU(自动模式)

    升级环境: 1.源库版本: Grid Infrastructure:11.2.0.3.13 Database:11.2.0.3.13 2.目标库版本: Grid Infrastructure:11.2 ...

  2. nrf52——DFU升级USB/UART升级方式详解(基于SDK开发例程)

    摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程 ...

  3. yum和编译两种方式升级or降级Centos内核

    http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...

  4. centos6 yum方式升级内核【转】

    最近没有时间好久没有写文章了,今天由于需要安装docker学习虚拟容器的知识,需要升级OS的内核.目前我这边使用的OS是centos6.5,内核是2.6版本的,如下: cat /etc/issue u ...

  5. centos7上Jenkins通过rpm包方式直接安装及使用war包方式升级

    一.通过rpm包方式直接安装jenkins 1.官网下载rpm安装包(前提是安装jdk) wget https://pkg.jenkins.io/redhat-stable/jenkins-2.121 ...

  6. Android应用程序的自动更新升级(自身升级、通过tomcat)(转)

    Android应用程序的自动更新升级(自身升级.通过tomcat) http://blog.csdn.net/mu0206mu/article/details/7204746 刚入手android一个 ...

  7. 手动升级 Confluence - 开始升级之前

    在本指南中,我们将会帮助你使用 zip / tar.gz 文件将你的 Confluence 安装实例在 Windows 或者 Linux 版本中升级到最新的版本. 升级到任何最新的版本都是免费的,如果 ...

  8. [转]Net 下采用GET/POST/SOAP方式动态调用WebService C#实现

    本文转自:http://www.cnblogs.com/splendidme/archive/2011/10/05/2199501.html 一直以来,我们都为动态调用WebService方法而烦恼. ...

  9. Cocoa 框架为什么采用两阶段的方式来创建对象?

    对于之前一直使用C#语言的我来说,刚开始接触Objective-c来创建对象时很迷惑,为何创建对象一般情况下需要通过发送两个消息(调用两个方法)才能创建一个类实例对象(例如[[UIButton all ...

随机推荐

  1. test_bdc

    [转]REPORT zbdc_test_by_shir. * 定义个BDC格式的内表**************************************************DATA : B ...

  2. BAPI LIST

    [转自 http://blog.csdn.net/minsenwu/article/details/8432081] 库存管理BAPI 库存: 1. BAPI_MATERIAL_AVAILABILIT ...

  3. (转)Javascript模块化编程(二):AMD规范

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要 ...

  4. Java中的String,StringBuilder,StringBuffer三者的区别(转发:https://www.cnblogs.com/su-feng/p/6659064.html)

    最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...

  5. Shell中的while循环

    while循环的格式   while expression do command command ``` done 1.计数器控制的while循环    主要用于已经准确知道要输入的数据和字符串的数目 ...

  6. 2018年长沙理工大学第十三届程序设计竞赛 C 取手机 【概率】

    链接:https://www.nowcoder.com/acm/contest/96/C 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  7. MVC中不能使用ViewBag

    在工程文件中添加 <Reference Include="Microsoft.CSharp" /> <Reference Include="System ...

  8. [转]Homebrew 卸载时出现:Failed to locate Homebrew! 错误

    今天在 MacBook 上安装 Homebrew,结果中间断了网,想重新卸载重装,结果一直卸载失败.问题现象如下: 问题现象 卸载时错误如下: ruby -e "$(curl -fsSL h ...

  9. swift 全局常量 && 全局变量的写法

    在OC里面 如果 想设置一个全局常量 很简单 使用简单宏定义  就搞定了 例如: #define    WEBAPIBASEURL  @"http://www.baidu.com/" ...

  10. HTTP基础概念讲解

    HTTP基础概念讲解 作者:Danbo 时间:2016-03-17 1.1.http协议头部:curl -I www.meituan.com 1.2.静态和动态 静态网页:纯HTML格式的网页,后台没 ...