采用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 ...
随机推荐
- 鼠标画矩形openCV
#include <cv.h> #include <highgui.h> #include <stdio.h> /*鼠标画矩形*/ void my_mouse_ca ...
- Linux环境安装Nginx详细步骤
1.yum解决编译nginx所需的依赖包,之后你的nginx就不会报错了yum install gcc patch libffi-devel python-devel zlib-devel bzip ...
- easyui的 一些经验
1. 渲染网络表格时,行操作 <th field="sort_num" width="10" data-options="field:'id', ...
- Office 2013“永久激活信息”备份
Office 2013“永久激活信息”备份还原简明教程及成功恢复的注意事项Office 2013永久激活后及时备份激活信息可以保证重装后快速激活.网上也有流行的各种备份工具,虽然操作简单,但是如果不理 ...
- 2014阿里实习生面试题——MySQL如何实现索引的
这是2014阿里实习生北京站二面的一道试题: 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,比如MyISAM和InnoDB存储引擎. MyISAM索引实现: MyI ...
- VS2015 下载 破解
Visual Studio Professional 2015简体中文版(专业版): http://download.microsoft.com/download/B/8/9/B898E46E-CBA ...
- Blobstore Java API overview
Blobstore API允许你的应用程序使用(serve)叫做Blobs的数据对象.这种数据对象比Datastore服务所允许的对象的尺寸大得多.Blobs能有效地为大文件比如视频.图片提供服务,允 ...
- <linux硬件及硬盘分区>关于硬盘的规划和使用细节
ps:期末考试 终于结束了,这下我也终于有时间开始继续经营我的博客.这个学期上的一些课真的非常有用,感觉很多课程细地讲都可以写成非常精致的技术博文,比如流水线技术,数据库的一些技术,大学里的考试考的内 ...
- Spring中ApplicationContext和beanfactory区别
BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...
- Shiro 集成 Web
Web 集成 Shiro 的练习项目. Servlet + Shiro 项目结构 新建Maven项目,pom配置如下 <project xmlns="http://maven.apac ...