云网牛站
所在位置:首页 > Linux云数据库 > 在Ubuntu系统中升级MySQL版本的方法

在Ubuntu系统中升级MySQL版本的方法

2018-10-10 10:51:22作者:两句挽联稿源:linux站

如果你使用的MySQL版本很旧,或者需要升级MySQL版本那就跟着本文一起操作吧。我们在Ubuntu操作系统中实战升级MySQL版本。

 

背景

在写一些小项目的时候,在创建表的时候用到了两个字段,createTime和updateTime,用于表示条目的创建和更新时间。为了偷懒,决定使用MySQL的CURRENT_TIMESTAMP这个特性,如:

在Ubuntu系统中升级MySQL版本的方法

可以在我们创建或者更新此条数据的时候,自动将时间戳记录,但是当我们选择之后,会有如下错误提示:

在Ubuntu系统中升级MySQL版本的方法

查看了一下类似的错误,基本是由于使用的MySQL版本过旧的原因,于是使用select version()查看了一下版本,显示为5.5.58-0ubuntu0.14.04.1-log,最近的版本已经到了MySQL 5.7,所以,是有必要升级一下MySQL了。

 

准备

升级之前,最好将数据库的数据备份一下,以备不时之需(请注意更改ywnz):

mysqldump -uroot -p'ywnz.com' --all-databases > all_databases.sql

 

操作步骤

由于我们使用的是Ubuntu,自然要依赖apt-get命令来完成升级。

1.下载源配置

wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb

sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

会有提示框弹出来供选择,类似MySQL安装画面:

在Ubuntu系统中升级MySQL版本的方法

由于需要和现网环境适配,我们选择使用MySQL Server的5.6的版本即可。

2.更新

sudo apt-get update

3.安装

sudo apt-get install mysql-server

4.检查

最后我们需要检查一下数据是否ok,一般是使用mysql_upgrade命令来完成,但是问题来了,这是一个很久未使用的数据库,忘了root密码了,还需要重置一下密码。

首先使用无需密码登录,找到配置文件,一般是在/etc/mysql下面:

在Ubuntu系统中升级MySQL版本的方法

可见,升级之后,备份了之前的配置,并且生成了一个新的配置文件my.cnf:

在Ubuntu系统中升级MySQL版本的方法

其内容就是将conf.d和mysql.conf.d文件夹里面后缀为cnf的文件内容全部引入。经过查看,我们定位到了平常使用的配置文件,其在mysql.conf.d中,名字为mysqld.cnf:

在Ubuntu系统中升级MySQL版本的方法

可见,新的配置文件里面只有简单mysqld的一些配置,注意上面socket配置,其值和一般使用的不一样,后面我们在本机使用mysql客户端的时候可能会有一些socket不存在的提示,在此,我们可以提前创建一个软链接:

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock

言归正传,我们需要在mysqld的配置下面,增加一行skip-grant-tables,用于无密码登录,保存退出后重启mysql服务,即可以直接通过mysql命令直接登入。

登入之后,可以直接通过修改库中的密码来实现重置:

mysql> use mysql

Database changed

mysql> update user set Password= password("123456") where user = "root";

Query OK, 7 rows affected (0.00 sec)

Rows matched: 7  Changed: 7  Warnings: 0

如上,将所有root密码均修改为123456。

5.回到我们的主题,由于新版本里面的一些表结构可能和老版本不一致,所以我们通过mysql_upgrade命令来升级,这一步非常重要(请注意更改ywnz):

sudo mysql_upgrade -u root -p'ywnz.com' 

至此,所有升级操作已经全部完成。

 

相关主题

Ubuntu 18.04系统中安装mysql 5.7数据库

精选文章
热门文章