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. WCF基础之会话、实例和并发

    这篇笔记是一些概念性的东西. 会话,借用百科上的描述就是一个客户与服务器之间的不中断的请求响应序列.wcf的会话模式是通过服务契约的SessionModel进行设置的,其值为枚举,分别为:Allowe ...

  2. POJ 1113 Wall【凸包周长】

    题目: http://poj.org/problem?id=1113 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...

  3. 【python】-- 深浅copy、集合

    深浅copy 1.数字.字符串的copy: 赋值(=).浅拷贝(copy)和深拷贝(deepcopy)其实都一样,因为它们永远指向同一个内存地址: >>> import copy & ...

  4. Java基础 - 常量与变量

    A:常量 内存中的一小块区域,在程序执行过程中,其值不可以发生改变的量称为常量 常量的几种表现形式: a:字符串常量 "HelloWorld" b:整数常量 12 c:小数常量 1 ...

  5. Effective Java 读书笔记(一):使用静态工厂方法代替构造器

    这是Effective Java第2章提出的第一条建议: 考虑用静态工厂方法代替构造器 此处的静态工厂方法并不是设计模式,主要指static修饰的静态方法,关于static的说明可以参考之前的博文&l ...

  6. Nodejs课堂笔记-第四课 Dynamodb为何物

    本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 我喜欢带着目标来学习新知识.因此学习nodejs过程中,不喜欢只看枯燥的语法 ...

  7. vim 一键添加注释 自动添加文件头注释

    估计大家也都和我一样用过不少的编辑器,什么notepad2,emeditor,editplus,ultraedit,vs2005,sourceinsight,slickedit,emacs,vim(g ...

  8. iOS9 - 采用3D Touch

    iPhone 6s/6s Plus提供了触摸屏的另一个维度的操作手势-3D Touch,通常有下面两种应用场景: 在主屏幕上重按APP图标可以提供进入APP特定功能的快捷菜单 在APP内部,可以通过重 ...

  9. Gateway

    网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连.网关的结构也和路由器类似,不同的是互连层.网关既可以用于广域网互连,也可以用于局域网互连. 网关是一种充当转换重 ...

  10. c++之默认参数的函数

    默认参数,看个例子就明白了 int add(int a=5,int b=6,z=3): int main(){ add():// 全部默认 add(1,5)://第三个参数默认 add(1,2,3): ...