升级mysql升级mysql以前,必须对mysql进行备份。另外假定原mysql是利用APT仓库安装。如果不是采用这种方式安装,需要用替换第三方系统自带mysql或替换用deb包安装的mysql的方法。
升级mysql
使用MYSQL APT仓库升级MYSQL(就是代替旧版本,用原来的数据运行新版本),采用以下步骤:
-
确保你的软件库列表中包含 MySQL APT 仓库。
-
运行以下命令,确保在你的 MySQL APT 仓库有最新的包信息。
apt-get update
3. 注意默认只能更新MYSQL到在添加APT仓库时选择的版本,如果想更新到其他版本请参考选择发行版本。
4. 用下面的命令升级mysql。
apt-get install mysql-server
升级其他附属产品和组件的命令为:
apt-get install package-name
查看使用MYSQL APT仓库安装的附属产品和组件,用下面的命令:
dpkg -l | grep mysql | grep ii
5.升级完成后,通常会重启mysql, MySQL 8.0.16以前的版本,重启后运行mysql_upgrade 检查旧版本数据与新版本之间的是否兼容。
作为一个普遍的规则,升级应该从一个版本至下一个版本,而不应该直接升级至最新版本。例如从5.5升级至5.6,再升级至5.7,而不应该一步升级至5.7。
替换第三方系统自带的mysql
注意: MySQL APT仓库仅能够替换Debian 和Ubuntu自带的mysql,不能替换其他无论在版本库内部和外部的mysql分支。为了替换这些mysql分支,你必须先卸载系统自带的mysql,必须从发行商哪里获得如何卸载自带的mysql,备份数据以及如何恢复备份数据到新的mysql。
一些第三方的自带的仓库包依赖于原来的自带的mysql包, MySQL APT repository packages不应该和他们一起工作。这些包括akonadi-backend-mysql, handlersocket-mysql-5.5, 和 zoneminder。
采用以下步骤替换第三方自带系统:
-
备份你的数据库。
-
添加APT仓库和选择一个发行系列。
-
运行上述步骤4,替换掉原来的系统自带版本。
使用MySQL APT repository替换MySQL的本机发行版后,使用APT get purge、APT get remove–purge或dpkg-P命令从本机存储库中清除旧的MySQL包可能会以各种方式影响新安装的MySQL服务器。因此,不要从本机存储库包中清除旧的MySQL包。
-
恢复数据
替换用下载的deb包安装的mysql
来自于https://dev.mysql.com/downloads/的Deb包与来自于 the MySQL APT repository的deb包是不相同的。安装和配置mysql采用不同的方式。
下面讲述来替换用自于https://dev.mysql.com/downloads/的deb包安装的mysql。
-
备份你的数据库。
-
添加APT仓库和选择一个发行系列。
-
用下面的命令删除老版本。
dpkg -P mysql
-
用下面的命令安装mysql
apt-get install mysql-server
-
恢复数据。
用APT删除mysql
删除用MySQL APT 仓库安装的mysql server以及组件,首先用下面的命令删除mysql server:
apt-get remove mysql-server
接着删除和mysql server一起自动安装的软件:
apt-get autoremove
用下面的命令删除附属产品和组件,用想要删除的包名称替换 package-name:
apt-get remove package-name
查看你利用 MySQL APT repository安装的包,用下面的命令:
dpkg -l | grep mysql | grep ii
MYSQL APT仓库中的可用包
相关学习推荐:mysql教程(视频)
Package Name |
Description |
mysql-server |
用于安装MySQL服务器 |
mysql-community-server |
MySQL 服务器 |
mysql-client |
用于安装MySQL客户端 |
mysql-cluster-community-auto-installer |
NDB集群的自动安装程序 |
mysql-cluster-community-client |
NDB集群MySQL客户端 |
mysql-cluster-community-data-node |
NDB集群的数据节点 |
mysql-cluster-community-java |
NDB集群的Java驱动 |
mysql-cluster-community-management-server |
NDB集群的管理节点 |
mysql-cluster-community-memcached |
NDB集群memcached服务器 |
mysql-cluster-community-server |
NDB集群的MySQL服务器 |
mysql-cluster-community-source |
NDB集群的源码包 |
mysql-cluster-community-test |
NDB集群的测试套件 |
mysql-community-client |
MySQL客户端 |
mysql-common |
MySQL数据库普通文件 |
libmysqlclient20 |
MySQL数据库客户端库 |
libmysqlclient-dev |
MySQL数据库开发文件 |
libmysqld-dev |
MySQL嵌入式数据库开发文件 |
mysql-testsuite |
用于安装MySQL测试套件 |
mysql-community-test |
MySQL 测试套件 |
mysql-community-bench |
MySQL基准套件 |
mysql-community-source |
MySQL源代码 |
mysql-workbench-community |
MySQL Workbench(不适用于Debian平台) |
mysql-connector-python-py3 |
适用于Ubuntu 16.04、18.04和18.10的MySQL Connector/Python;使用Python 3.2或更高版本 |
mysql-connector-python |
适用于Debian 8.x和Python 2.6.3或更高版本以及适用于Ubuntu 16.04、18.04和18.10的MySQL Connector / Python; 使用Python 2.6.3至3.1 |
mysql-router |
MySQL路由器 |
ndbclient |
NDB Cluster 客户端 |
ndbclient-dev |
NDB Cluster 客户端开发套件 |