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. 九度OJ 1336:液晶屏裁剪 (GCD)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:983 解决:228 题目描述: 苏州某液晶厂一直生产a * b大小规格的液晶屏幕,由于该厂的加工工艺限制,液晶屏的边长都为整数.最近由于市场 ...

  2. CentOS6下安装PHP7

    更新软件源[1] wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm wget http://rpm ...

  3. CSS3中transform,transition和animation的简单介绍和使用方法演示样例

    transform是一个属性,本质跟width,height是一样的,加上transform也就是为类添加一个变换属性. transition是一个属性.它是用来控制过渡效果的,由于用transfor ...

  4. CentOS7.x 报错 There are no enabled repos.

    地址 :http://mirrors.163.com/centos/7/os/x86_64/Packages/   wget http://mirrors.163.com/centos/7/os/x8 ...

  5. LeetCode:字符串的排列【567】

    LeetCode:字符串的排列[567] 题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列. 换句话说,第一个字符串的排列之一是第二个字符串的子串. 示例1: ...

  6. rails跨域请求配置

    gem 'rack-cors', '~> 0.3.1'application.rb config.middleware.insert_before 0, "Rack::Cors&quo ...

  7. Javascript中闭包的个人理解

       Javascript的一个特殊点就在于它的闭包和回调特性,这两个特性让初学Javascript的我是云里雾里,至今仍在苦苦摸索与理解.在一番苦思之后,整理了一下资料,将自己的理解思路记录下来,以 ...

  8. 【二叉堆】k路归并问题(BSOJ1941)

    Description 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci(x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复 ...

  9. 剑指offer之 二叉树镜像

    package Problem19; /* * 问题描述: * 请完成一个函数,输入一个二叉树,该函数输出它的镜像; */ //定义二叉树的结构 class BinaryTreeNode { Bina ...

  10. 2.微信小程序-B站:需要先知道这些

    文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page.一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必须 作用 app.js 是 小程序逻辑 app. ...