mysql版本5.5.x升级到5.6.x步骤分享

大概步骤是:

把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flush privileges;刷新授权表,注意:如果是使用共享表空间,最好是把数据导出来再导入新版,如果是使用独立表空间可以使用mysql_upgrade升级。如:

1. shell > service mysqld stop  #把实例停掉

代码如下:

shell > mv /usr/local/mysql /usr/local/mysql.bak #把mysql5.5.x的旧basedir改名为备份目录
shell > cp -ar /data/mysql3306 /data/mysql3306.bak #把mysql5.5.x下的实例数据备份一下,以免升级过程中发生意外
shell > tar vf xxx.tar.gz -C /usr/local #把mysql5.6.x的二进制包解压到basedir路径下,这里使用mysql5.6.27版本,下载地址:wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz
shell > cd /usr/local/
shell > ln -s mysql-5.6.28-linux-glibc2.5-x86_64 mysql  #创建软连接
shell > \cp -ar /usr/local/mysql.bak/my.cnf /usr/local/mysql/ #把旧版basedir下的配置文件复制回来,如果你的配置文件不是在basedir下,那这里就不用动

2.在配置文件的mysqld下添加:skip-grant-tables选项:

3.shell > service mysqld start  #启动更新basedir之后的实例

4.使用mysql_upgrade命令:检查不兼容的表,更新grant表

shell > mysql_upgrade -P3306 -u root -p'xx' #命令输出除了warning外,表检查都必须要为OK,然后登录mysql(登录时的提示就可以看到新的版本号),
mysql > flush privileges;

5.去掉配置文件中的skip-grant-tables

6.看看错误日志有没有什么报错,此时就可以去验证下数据是否有异常,没有异常就表示升级成功了

注意:升级不可跳级,即5.1要想升级成5.6,必须先升级到5.5;所有步骤完成之后,最好再重启下mysqld

(0)

相关推荐

  • CentOS系统中MySQL5.1升级至5.5.36

    记录下CentOS 6.4环境将MySQL5.1升级至5.5.36的过程,希望对大家有个参考. 1.为了安全期间,首先需要备份原有数据 2.卸载原有MySQL,先停止原有的MySQL服务,再查找 find / -name mysql [root@linuxidc /]# find / -name mysql /var/lib/mysql /var/lib/mysql/mysql /usr/lib64/mysql 并移除服务 [root@linuxidc /]# rm -rf /var/lib/m

  • Centos 6.3将Mysql 5.1.61升级为mysql 5.6.19遇到的问题及解决方式

    环境:mysql-5.1.61 操作系统:Cent-os6.3 目的:升级为mysql 5.6.19 首先,yum是不可行的.因为yum源没更新,我已经使用了163网易的源,但是还是不行.最新版仍然不是5.6.没办法,mysql分区是5.5之后的功能,要使用分区功能,就必须升级.. 去官网下载地址:http://dev.mysql.com/downloads/mysql/ 我是cent os,选择了Red Hat Enterprise Linux版本. 由于系统是i686的,所以选择i686版本

  • CentOS系统中PHP和MySQL的升级方法

    用yum更新PHP,只需用一条命令就可以搞定: 复制代码 代码如下: #yum update php 但问题来了,使用此命令后,系统告诉我,没有发现可更新的包.而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了. 经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,需要额外的源才能升级PHP. 根据外国网友的介绍,冰古添加了额外的源: 登录SSH后依次运行下列命令: 复制代码 代码如下: #rpm –import http://www.jasonlitka.co

  • MySQL 升级方法指南大全第1/5页

    如果都是比较新的版本的升级可以参考下面的文章,MySQL数据库的版本更新很快,新的特性也随之不断的更新,更主要的是解决了很多影响我们应用的BUG,为了让我们的MySQL变得更美好,我们有必要去给它升级,尽管你会说它现在已经跑得很好很稳定完全够用了.下面我们来看看几种常用的升级方法. 介绍之前,我们先做一些声明,MySQL采用二进制包来安装,升级都是在同一台DB Server上操作. 第一种,很简单,适用于任何存储引擎. 1. 下载并安装好新版本的MySQL数据库,并将其端口改为3307(避免和旧

  • 图解MYSQL的安装和数据升级第1/2页

    如果你是全新安装,就可以跳过这一步啦 找到你的Mysql的数据库目录下的 ragnarok 数据库目录,例如我的Mysql安装在D:\mysql 这个目录下,就到 D:\mysql\data\ 目录下找到 ragnarok 数据库目录把它拷贝一份到其它地方![升级你的ODBC - MySQL ODBC driver ]首先打开你的控制面版,找到 [添加删除程序] 把旧的MySQL ODBC driver 删除然后安装MyODBC-3.51.11-1-win.exe [删除你电脑里的旧版MYSQL

  • linux下安装升级mysql到新版本(5.1-5.7)

    今天需要把linux服务器上的mysql版本从5.1更新到5.7,那么以下内容作为记录,提供以后安装使用手册 第一步:检查linux的操作系统版本 复制代码 代码如下: cat /etc/issue 第二步:在mysql官网上下载5.7的版本 http://dev.mysql.com/downloads/file.php?id=451627 第三步:检查linux上以前安装的mysql版本 复制代码 代码如下: rpm -qa | grep mysql 第四步:如果出现mysql的一些安装版本,

  • 详细讲解安全升级MySQL的方法

    MySQL升级是非常必要的. 我们在Percona Support上列出了关于MySQL升级最佳实践的各种问题.这篇文章推荐了一些不同情况下升级MySQL的方法. 为什么MySQL升级是必须的? 原因有很多,比如:为了使用新增的特性,基于性能方面的考量, 修复的bug. 但是在没有充分的测试以前就应用到你的应用中是非常危险的, 因为升级可以能会让你的应用不能正常运作- 也可能引起性能的问题. 此外, 我建议你关注MySQL的发布信息和Percona Server- 看看最近的版本有什么变化. 也

  • mysql版本5.5.x升级到5.6.x步骤分享

    大概步骤是: 把配置文件添加:skip-grant-tables参数,把basedir升级成新版本,启动mysql,执行命令:mysql_upgrade升级一下字典信息,然后flush privileges;刷新授权表,注意:如果是使用共享表空间,最好是把数据导出来再导入新版,如果是使用独立表空间可以使用mysql_upgrade升级.如: 1. shell > service mysqld stop  #把实例停掉 复制代码 代码如下: shell > mv /usr/local/mysql

  • phpStudy中升级MySQL版本到5.7.17的方法步骤

    前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: [Err] 1294 - Invalid ON UPDATE clause for '字段名' column 报错的数据表字段: `字段名` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP 同事说同一个 sql 文件他可以导成功.猜可能是数据库版本的问题,同事的是 5.6,我查了下本地的数据库版本是 5.5.53.网上查了一下,果然是版本的问题,5.5 和 5.6 在 TIMEST

  • Centos MySQL 5.7安装、升级教程

    MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: [root@coderknock ~]# mysql -V mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (i386) using readline 5.1 停止 MySQL 服务 [root@coderknock ~]# service mysqld stop Stopping mysqld: [ OK ] 备份数据[数据不重要可以忽略] 备

  • MySql版本问题sql_mode=only_full_group_by的完美解决方案

    1.查看sql_mode select @@sql_mode 查询出来的值为: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2.去掉ONLY_FULL_GROUP_BY,重新设置值. set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZE

  • Mysql 5.5.56版本(二进制包安装)自定义安装路径步骤记录

    安装路径:/application/mysql-5.5.56 1.前期准备 mysql依赖 libaio yum install -y libaio 创建用户mysql,以该用户的身份执行mysql useradd -s /bin/false -M mysql 下载mysql二进制包并解压 cd /tools wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz t

  • 详解Spring Boot Mysql 版本驱动连接池方案选择

    国内环境下,用Mysql还是比较多的.这里简单的总结了一下,如有缪误,还请指正. Mysql.connect 引入mysql-connector-java包,协议为GPL2.0,该协议具有传染性,即:一旦使用(调用)GPL的库,你的软件将被感染为GPL的软件(主程序).完全不具有商业友好特性.如果有顾虑,可以使用mariadb-java-client进行替代,见mariadb-connector-j,路径是org.mariadb.jdbc.Driver 引入JDBC驱动程序 <dependenc

  • MySQL版本低了不支持两个时间戳类型的值解决方法

    MySQL报错:错误代码: 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP 原因是:两台服务器的mysql版本不一致. 低版本不支持在一个表里面 有2个TIMESTAMP 类型 的列. 项目中版本是: 配置环境(推荐jdk8,mysql5.7,maven3,想法) 我的是5.52 解决方法? 是采用把2台服务器都使用最新的版本这个办法 以上方法很简单,感谢

  • 多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法

    mint19.2   本来pip 和 pip2 对应 python2.7   pip3对应python3.6 用源码安装了python3.7之后. 这样 版本也没问题. 但是,  用pip3.7 安装包的时候 提示 pip需要升级,  但是一旦升级, 就不对了 pip  pip2 pip3 都指向了pip3.7 这导致一系列问题. 包pgadmin4 启动后报 csrf 错误 , 甚至进而导致docker-compose模式下postgres服务下线! 而且,无法用重装python-pip, p

  • 解决MySql版本问题sql_mode=only_full_group_by

    目录 MySql版本问题sql_mode=only_full_group_by Windows sql_mode=only_full_group_by以及多种解决方案 出错的sql情况 解决方案1 解决方案2 MySql版本问题sql_mode=only_full_group_by 查看sql_mode select @@sql_mode 查询出来的值为: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ER

随机推荐