转自:老左博客:http://www.laozuo.org/6145.html

老左今天有在帮朋友的博客搬迁到另外一台VPS主机环境,其环境采用的是LLSMP架构的,原先的服务器采用的是LNMP网站环境,其博客程序是WORDPRESS。告知在导入数据库的时候出现"Unknown collation: 'utf8mb4_unicode_ci'"错误提示,这样的问题应该是WordPress4.2版本之后才有的,以前记得没有出现过这样的问题。

看到WordPress官方社区的文档,有提到MYSQL版本问题导致的,因为默认的LLSMP环境MYSQL是5.1版本的,而LNMP环境中安装的MYSQL是5.5版本的,所以高版本向低版本不兼容,官方的建议是升级MYSQL版本5.5,所以我也采用这个方法。

第一、备份数据库和网站文件

在折腾之前我们还是要备份数据库和网页文件到本地,以免出现问题影响当前的环境以及其他网站的运行。

第二、停止MYSQL运行以及卸载老版本

service mysqld stop #暂停MYSQL

yum remove mysql mysql-*  #卸载老版本MYSQL

通过上面的命令,我们先停止当前MYSQL的运行,然后再卸载老的MYSQL5.1版本数据库。

第三、检查和卸载残余mysql-libs

yum list installed | grep mysql

我们检查是否有残余的mysql-libs,如果有,我们执行下面的命令清除掉。

yum remove mysql-libs

执行清除,如果没有不执行也没关系。

第四、升级和安装MYSQL5.5

这里老左参考网上一个快速的方法解决,因为等会要出去办事,在这篇文章就不选择版本安装了,直接采用源包中的5.5默认安装。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://mirrors.neusoft.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/epel-release-6-5.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

先安装一些依赖环境。

yum --enablerepo=remi,remi-test info mysql mysql-server

然后再执行安装MYSQL5.5

yum --enablerepo=remi,remi-test install mysql mysql-server

执行完成。到目前为止我们可以通过mysql -V检查MYSQL版本已经是5.5,但是现在还不行,根据提示需要进行配置文件,但是不懂为什么老左并没有修改MYSQL的配置文件也可以执行,难道是天意?

第五、启动和检查

mysql_upgrade -u root -p

原本根据网络上的方法是需要修改配置文件的,我没修改也可以完成,所以继续执行升级启动的执行,输入当初我们的MYSQL ROOT密码,让过一遍。

完毕之后,我们执行启动MYSQL

service mysqld restart

如果能够看到两个绿色的OK,那就一切没有问题。

总结,这样我们再去导入数据库就不会出现编码问题。看到有文档提到可以直接在导出MYSQL数据库的时候选择版本的,后面老左试试,因为升级MYSQL存在很多不安和麻烦,万一出错就麻烦了。

linux数据库升级的更多相关文章

  1. 生产环境中,数据库升级维护的最佳解决方案flyway

    官网:https://flywaydb.org/ 转载:http://casheen.iteye.com/blog/1749916 1.  引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的 ...

  2. MySQL/MariaDB/Percona数据库升级脚本

    MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...

  3. 探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB

    探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB 前言:        从Oracle 12c開始,引入了容器数据库的概念,能够实现数据库插拔操作,例如以下图: 如今我们 ...

  4. 探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1)

    探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言:       Oracle 12c公布距今已经一年有余了,其最大亮点是一个能够插拔的数据库(PD ...

  5. Oracle数据库升级前必要的准备工作

    Oracle数据库升级向来是一门纷繁复杂的工程,DBA需要为产品数据库的升级耗费大量时间精力在准备工作上:因为其升级复杂度高,所以即便做了较为充分的准备仍可能在升级过程中遇到意想不到的问题,为了更高效 ...

  6. Oracle数据库升级(10.2.0.4->11.2.0.4)

    环境: RHEL5.4 + Oracle 10.2.0.4 目的: 在本机将数据库升级到11.2.0.4 之前总结的Oracle数据库异机升级:http://www.cnblogs.com/jyzha ...

  7. linux 内核升级

    LINUX 内核升级 linux 内核官网 https://www.kernel.org/ POST BIOS(boot sequence) 所选择的启动设备次序的MBR中是否有引导程序, ----& ...

  8. linux内核升级图文攻略(转)

    一.Linux内核概览Linux是一个一体化内核(monolithic kernel)系统.设备驱动程序可以完全访问硬件.Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置 ...

  9. Android数据库升级

    随着Android应用版本的迭代,经常遇到数据库表结构发生改变,或者一些指定的表数据需要更新.这也就引出一个问题Android数据库的更新问题. Android数据库升级分类 Android数据库更新 ...

随机推荐

  1. codeforces 490 D Chocolate

    题意:给出a1*b1和a2*b2两块巧克力,每次可以将这四个数中的随意一个数乘以1/2或者2/3,前提是要可以被2或者3整除,要求最小的次数让a1*b1=a2*b2,并求出这四个数最后的大小. 做法: ...

  2. php常用知识集锦

    php常用知识集锦 很多位置都有写好的代码,自己做项目的时候可以直接拿来用,而不用自己写,比如现在看到的菜鸟教程. 1.判断是否为空 empty($_POST["name"]) 2 ...

  3. Ubuntu桌面基础介绍

    1. 目录结构和文件系统 ubuntu的文件系统也是一个又层次的树形结构,文件系统的最上层是 / ,表示根目录,所有其他文件和目录都位于跟目录下,在linux中,一切皆为文件,包括硬盘.分区和拔插介质 ...

  4. 远程桌面连接Windows Azure中的Ubuntu虚拟机

    默认情况下,通过Windows Azure创建的ubuntu虚拟机是不能直接连接远程桌面的,只能通过SSH终端连接. 在Windows Azure Portal中创建Ubuntu虚拟机,创建完成后添加 ...

  5. SqlServer Function 实例

    ① sql server function 创建 这里使用一个计算年龄精确到分的function作为一个demo, create Function [dbo].[fn_GetAge] ( @BIRTH ...

  6. 【翻译】前景img-sprites, 高对比模式分析

    ->译文,原文在这里<- 本文地址: http://www.cnblogs.com/blackmanba/p/img-sprites-high-contrast.html或者http:// ...

  7. 想写一个 Sketch 插件 结果 一查不可收拾 ~~ 涉及到 Symbol 符号/ Layer 图层 / Overrides 可替换变量 等等

    var sketch = context.api() var document = sketch.selectedDocument; var selection = document.selected ...

  8. 函数与装饰器Python学习(三)

    1.1 文件处理 1.1.1 打开文件过程 在Python中,打开文件,得到文件句柄并赋值给一个变量,默认打开模式就为r f=open(r'a.txt','w',encoding='utf-8') p ...

  9. string 去除空格

      /** * 去除空格 * @param {str} * @param {type} * type: 1-所有空格 2-前后空格 3-前空格 4-后空格 * @return {String} */ ...

  10. pgpool中的配置参数的定义

    /* * configuration parameters */typedef struct {    char *listen_addresses;            /* hostnames/ ...