采用MySQL_upgrade升级授权表方式升级
1.7.1 采用MySQL_upgrade升级授权表方式升级(1)
这种升级方式比较省事,通过MySQL_upgrade命令即可完成。下面来演示一下整个升级过程。
1)修改my.cnf配置文件,因为MySQL5.1里的参数在5.5版本里已经不识别了。
- #skip-locking 在5.5里已经不识别了,改成
- skip-external-locking
- #log-long-format 在5.5里已经不识别了,改成
- log-short-format
- #log_slow_queries 在5.5里已经不识别了,改成
- slow-query-log
- #default-character-set = utf8 在5.5里已经不识别了,改成
- 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,保证数据的完整性,避免发生错误。该参数支持动态修改。
设置该参数的命令如下:
- set global innodb_fast_shutdown=0;
关于innodb_fast_shutdown 参数的介绍,请参见MySQL5.5手册:
3)关闭MySQL服务,命令如下:
- /etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown
4)跳过MySQL授权表启动MySQL服务,命令如下:
- MySQLd --defaults-file=/etc/my.cnf --skip-grant-tables &
5)执行更新程序,如下所示:
- [root@vm02 MySQL]# /usr/local/MySQL/bin/MySQL_upgrade
- Looking for 'MySQL' as: bin/MySQL
- Looking for 'MySQLcheck' as: bin/MySQLcheck
- Running 'MySQLcheck' with connection arguments: '--port=3306' '--socket=/tmp/MySQL.sock'
- Running 'MySQLcheck' with connection arguments: '--port=3306' '--socket=/tmp/MySQL.sock'
- MySQL.columns_priv OK
- MySQL.db OK
- MySQL.event OK
- MySQL.func OK
- MySQL.general_log OK
- MySQL.help_category OK
- MySQL.help_keyword OK
- MySQL.help_relation OK
- MySQL.help_topic OK
- MySQL.host OK
- MySQL.ndb_binlog_index OK
- MySQL.plugin OK
- MySQL.proc OK
- MySQL.procs_priv OK
- MySQL.servers OK
- MySQL.slow_log OK
- MySQL.tables_priv OK
- MySQL.time_zone OK
- MySQL.time_zone_leap_second OK
- MySQL.time_zone_name OK
- MySQL.time_zone_transition OK
- MySQL.time_zone_transition_type OK
- MySQL.user OK
- test.heartbeat OK
- test.log20111127 OK
- test.log20111128 OK
- test.log20111129 OK
- test.log20111130 OK
- test.log20111201 OK
- test.log20111202 OK
- test.log20111203 OK
- test.log20111204 OK
- test.log20111205 OK
- test.log20111206 OK
- test.log20111207 OK
- test.t1 OK
- test.t2 OK
- Running 'MySQL_fix_privilege_tables'...
- OK
.7.1 采用MySQL_upgrade升级授权表方式升级(2)
6)再次关闭MySQL服务,命令如下:
- /etc/init.d/MySQL stop或MySQLadmin -uroot -p123456 shutdown
7)正常启动MySQL服务,命令如下:
- MySQLd_safe --defaults-file=/etc/my.cnf --user=MySQL &
8)来查看一下版本,如下所示:
- MySQL> select version();
- +-----------------------------------------------------------+
- | version() |
- +-----------------------------------------------------------+
- | 5.5.20-enterprise-commercial-advanced-log |
- +-----------------------------------------------------------+
- 1 row in set (0.00 sec)
- MySQL> select @@innodb_version;
- +----------------------------+
- | @@innodb_version |
- +----------------------------+
- | 1.1.8 |
- +----------------------------+
- 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升级授权表方式升级的更多相关文章
- 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 ...
- nrf52——DFU升级USB/UART升级方式详解(基于SDK开发例程)
摘要:在前面的nrf52--DFU升级OTA升级方式详解(基于SDK开发例程)一文中我测试了基于蓝牙的OTA,本文将开始基于UART和USB(USB_CDC_)进行升级测试. 整体升级流程: 整个过程 ...
- yum和编译两种方式升级or降级Centos内核
http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...
- centos6 yum方式升级内核【转】
最近没有时间好久没有写文章了,今天由于需要安装docker学习虚拟容器的知识,需要升级OS的内核.目前我这边使用的OS是centos6.5,内核是2.6版本的,如下: cat /etc/issue u ...
- centos7上Jenkins通过rpm包方式直接安装及使用war包方式升级
一.通过rpm包方式直接安装jenkins 1.官网下载rpm安装包(前提是安装jdk) wget https://pkg.jenkins.io/redhat-stable/jenkins-2.121 ...
- Android应用程序的自动更新升级(自身升级、通过tomcat)(转)
Android应用程序的自动更新升级(自身升级.通过tomcat) http://blog.csdn.net/mu0206mu/article/details/7204746 刚入手android一个 ...
- 手动升级 Confluence - 开始升级之前
在本指南中,我们将会帮助你使用 zip / tar.gz 文件将你的 Confluence 安装实例在 Windows 或者 Linux 版本中升级到最新的版本. 升级到任何最新的版本都是免费的,如果 ...
- [转]Net 下采用GET/POST/SOAP方式动态调用WebService C#实现
本文转自:http://www.cnblogs.com/splendidme/archive/2011/10/05/2199501.html 一直以来,我们都为动态调用WebService方法而烦恼. ...
- Cocoa 框架为什么采用两阶段的方式来创建对象?
对于之前一直使用C#语言的我来说,刚开始接触Objective-c来创建对象时很迷惑,为何创建对象一般情况下需要通过发送两个消息(调用两个方法)才能创建一个类实例对象(例如[[UIButton all ...
随机推荐
- 九度OJ 1336:液晶屏裁剪 (GCD)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:983 解决:228 题目描述: 苏州某液晶厂一直生产a * b大小规格的液晶屏幕,由于该厂的加工工艺限制,液晶屏的边长都为整数.最近由于市场 ...
- CentOS6下安装PHP7
更新软件源[1] wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm wget http://rpm ...
- CSS3中transform,transition和animation的简单介绍和使用方法演示样例
transform是一个属性,本质跟width,height是一样的,加上transform也就是为类添加一个变换属性. transition是一个属性.它是用来控制过渡效果的,由于用transfor ...
- 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 ...
- LeetCode:字符串的排列【567】
LeetCode:字符串的排列[567] 题目描述 给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列. 换句话说,第一个字符串的排列之一是第二个字符串的子串. 示例1: ...
- rails跨域请求配置
gem 'rack-cors', '~> 0.3.1'application.rb config.middleware.insert_before 0, "Rack::Cors&quo ...
- Javascript中闭包的个人理解
Javascript的一个特殊点就在于它的闭包和回调特性,这两个特性让初学Javascript的我是云里雾里,至今仍在苦苦摸索与理解.在一番苦思之后,整理了一下资料,将自己的理解思路记录下来,以 ...
- 【二叉堆】k路归并问题(BSOJ1941)
Description 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci(x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复 ...
- 剑指offer之 二叉树镜像
package Problem19; /* * 问题描述: * 请完成一个函数,输入一个二叉树,该函数输出它的镜像; */ //定义二叉树的结构 class BinaryTreeNode { Bina ...
- 2.微信小程序-B站:需要先知道这些
文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page.一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必须 作用 app.js 是 小程序逻辑 app. ...