mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
发布:How to upgrade MySQL server on Debian or Ubuntu
This commit is contained in:
parent
5b49088e0c
commit
f0d91f79f0
@ -4,23 +4,23 @@
|
|||||||
|
|
||||||
在这篇教程中,我会假设你已经[通过 apt-get 安装了 MySQL][2]。写这篇文章的时候,大部分 Linux 发行版上部署的都是 MySQL 5.5。这里我将向你们介绍如何从 MySQL 5.5升级到5.6。
|
在这篇教程中,我会假设你已经[通过 apt-get 安装了 MySQL][2]。写这篇文章的时候,大部分 Linux 发行版上部署的都是 MySQL 5.5。这里我将向你们介绍如何从 MySQL 5.5升级到5.6。
|
||||||
|
|
||||||
步骤1:备份 MySQL 配置文件。
|
###步骤1:备份 MySQL 配置文件。
|
||||||
|
|
||||||
$ sudo mkdir /backup
|
$ sudo mkdir /backup
|
||||||
$ sudo tar cvfvz /backup/mysql_conf.tgz /etc/mysql
|
$ sudo tar cvfvz /backup/mysql_conf.tgz /etc/mysql
|
||||||
|
|
||||||
步骤2:把数据库导出到一个 .sql 文件,并且把数据存放路径下面的数据也备份起来。
|
###步骤2:把数据库导出到一个 .sql 文件,并且把数据存放路径下面的数据也备份起来。
|
||||||
|
|
||||||
$ sudo sh -c 'mysqldump -u root -p -A --events > /backup/backup_db.sql
|
$ sudo sh -c 'mysqldump -u root -p -A --events > /backup/backup_db.sql
|
||||||
$ sudo tar cvfvz /backup/mysql_data.tgz /var/lib/mysql
|
$ sudo tar cvfvz /backup/mysql_data.tgz /var/lib/mysql
|
||||||
|
|
||||||
注意:如果你为你的在线 MySQL 系统提供了持续备份,强烈建议你在执行上面步骤时使用单事务选项,或显式使用锁(以保证数据一致性 —— 译注),详见[这个教程][3]。
|
注意:如果你为你的在线 MySQL 系统提供了持续备份,强烈建议你在执行上面步骤时使用单事务选项,或显式使用锁(以保证数据一致性 —— 译注),详见[这个教程][3]。
|
||||||
|
|
||||||
步骤3:停止 MySQL 服务
|
###步骤3:停止 MySQL 服务
|
||||||
|
|
||||||
$ sudo service mysql stop
|
$ sudo service mysql stop
|
||||||
|
|
||||||
步骤4:卸载 MySQL 软件包
|
###步骤4:卸载 MySQL 软件包
|
||||||
|
|
||||||
$ sudo apt-get remove mysql-server mysql-client mysql-common
|
$ sudo apt-get remove mysql-server mysql-client mysql-common
|
||||||
$ sudo apt-get autoremove
|
$ sudo apt-get autoremove
|
||||||
@ -28,11 +28,11 @@
|
|||||||
|
|
||||||
使用 apt-get 卸载时不要用 purge 选项,这会删除 MySQL 配置文件和其它一些以后要用到的数据。
|
使用 apt-get 卸载时不要用 purge 选项,这会删除 MySQL 配置文件和其它一些以后要用到的数据。
|
||||||
|
|
||||||
步骤5: 安装 MySQL 依赖包(内核异步 IO 访问库),MySQL 5.5以及之后的版本都依赖它。
|
###步骤5: 安装 MySQL 依赖包(内核异步 IO 访问库),MySQL 5.5以及之后的版本都依赖它。
|
||||||
|
|
||||||
$ sudo apt-get install libaio1
|
$ sudo apt-get install libaio1
|
||||||
|
|
||||||
步骤6:从官网下载 Debian 版的 MySQL 软件包
|
###步骤6:从官网下载 Debian 版的 MySQL 软件包
|
||||||
|
|
||||||
32位系统:
|
32位系统:
|
||||||
|
|
||||||
@ -42,13 +42,13 @@
|
|||||||
|
|
||||||
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-x86_64.deb
|
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15-debian6.0-x86_64.deb
|
||||||
|
|
||||||
步骤7:安装 MySQL 软件包
|
###步骤7:安装 MySQL 软件包
|
||||||
|
|
||||||
$ sudo dpkg -i mysql-5.6.15-debian6.0-*.deb
|
$ sudo dpkg -i mysql-5.6.15-debian6.0-*.deb
|
||||||
|
|
||||||
这个软件包会被安装在 /opt/mysql 目录下面。
|
这个软件包会被安装在 /opt/mysql 目录下面。
|
||||||
|
|
||||||
步骤8:将 MySQL 命令所在的路径添加到系统环境变量 PATH 内。
|
###步骤8:将 MySQL 命令所在的路径添加到系统环境变量 PATH 内。
|
||||||
|
|
||||||
Debian 上:
|
Debian 上:
|
||||||
|
|
||||||
@ -60,19 +60,24 @@ Ubuntu 或 Linux Mint 上:
|
|||||||
$ sudo sh -c 'echo "PATH=${PATH}:/opt/mysql/server-5.6/bin" >> /etc/environment'
|
$ sudo sh -c 'echo "PATH=${PATH}:/opt/mysql/server-5.6/bin" >> /etc/environment'
|
||||||
$ source /etc/environment
|
$ source /etc/environment
|
||||||
|
|
||||||
步骤9:进入 MySQL 配置文件,修改下面两行配置。
|
###步骤9:进入 MySQL 配置文件,修改下面两行配置。
|
||||||
|
|
||||||
$ sudo vi /etc/mysql/my.cnf
|
$ sudo vi /etc/mysql/my.cnf
|
||||||
|
|
||||||
> basedir = /opt/mysql/server-5.6
|
> basedir = /opt/mysql/server-5.6
|
||||||
|
|
||||||
> lc-messages-dir = /opt/mysql/server-5.6/share
|
> lc-messages-dir = /opt/mysql/server-5.6/share
|
||||||
|
|
||||||
步骤10:复制 MySQL 启动脚本到 /etc/init.d 目录下,并且将脚本设置为开机启动,这样一来 MySQL 就能在系统启动的时候自动启动了。
|
###步骤10:设置启动脚本
|
||||||
|
|
||||||
|
复制 MySQL 启动脚本到 /etc/init.d 目录下,并且将脚本设置为开机启动,这样一来 MySQL 就能在系统启动的时候自动启动了。
|
||||||
|
|
||||||
$ sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql
|
$ sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql
|
||||||
$ sudo update-rc.d mysql defaults
|
$ sudo update-rc.d mysql defaults
|
||||||
|
|
||||||
步骤11:(仅限 Ubuntu) MySQL 的上个版本安装时会为 AppArmor 服务创建一个配置文件,这个文件在 MySQL 卸载后会保留在系统中,但是它与现在安装好的 MySQL 版本不兼容。你需要重新编辑下这个配置文件,然后 MySQL 服务才能正常启动。
|
###步骤11:(仅限 Ubuntu) 编辑AppArmor配置
|
||||||
|
|
||||||
|
MySQL 的上个版本安装时会为 AppArmor 服务创建一个配置文件,这个文件在 MySQL 卸载后会保留在系统中,但是它与现在安装好的 MySQL 版本不兼容。你需要重新编辑下这个配置文件,然后 MySQL 服务才能正常启动。
|
||||||
|
|
||||||
首先,建一个软链接。
|
首先,建一个软链接。
|
||||||
|
|
||||||
@ -83,26 +88,30 @@ Ubuntu 或 Linux Mint 上:
|
|||||||
$ sudo vi /etc/apparmor.d/usr.sbin.mysqld
|
$ sudo vi /etc/apparmor.d/usr.sbin.mysqld
|
||||||
|
|
||||||
> /opt/mysql/server-5.6/lib/plugin/ r,
|
> /opt/mysql/server-5.6/lib/plugin/ r,
|
||||||
|
|
||||||
> /opt/mysql/server-5.6/lib/plugin/*.so* mr,
|
> /opt/mysql/server-5.6/lib/plugin/*.so* mr,
|
||||||
|
|
||||||
> /opt/mysql/server-5.6/share/** r,
|
> /opt/mysql/server-5.6/share/** r,
|
||||||
|
|
||||||
最后重启 AppArmor 服务。
|
最后重启 AppArmor 服务。
|
||||||
|
|
||||||
$ sudo service apparmor restart
|
$ sudo service apparmor restart
|
||||||
|
|
||||||
步骤12:(还是仅限 Ubuntu)删除上个 MySQL 版本留下的自启动配置文件,这个版本的 MySQL 使用 SysVinit (就是 /etc/init.d/mysql)来代替。
|
###步骤12:(还是仅限 Ubuntu)删除上个 MySQL 版本留下的自启动配置文件。
|
||||||
|
|
||||||
|
这个版本的 MySQL 使用 SysVinit (就是 /etc/init.d/mysql)来代替。
|
||||||
|
|
||||||
$ sudo rm /etc/init/mysql.conf
|
$ sudo rm /etc/init/mysql.conf
|
||||||
|
|
||||||
步骤13:启动 MySQL 服务。
|
###步骤13:启动 MySQL 服务。
|
||||||
|
|
||||||
$ sudo service mysql start
|
$ sudo service mysql start
|
||||||
|
|
||||||
步骤14:恢复 MySQL 数据库。
|
###步骤14:恢复 MySQL 数据库。
|
||||||
|
|
||||||
$ sudo mysql -u root -p < /backup/backup_db.sql
|
$ sudo mysql -u root -p < /backup/backup_db.sql
|
||||||
|
|
||||||
步骤15:最后,升级 MySQL 系统表。
|
###步骤15:最后,升级 MySQL 系统表。
|
||||||
|
|
||||||
$ sudo /opt/mysql/server-5.6/bin/mysql_upgrade -v -u root -p
|
$ sudo /opt/mysql/server-5.6/bin/mysql_upgrade -v -u root -p
|
||||||
|
|
Loading…
Reference in New Issue
Block a user