问题描述
我搜索了一个傻瓜教程,关于如何将我的 MySQL 5.5 服务器更新到 MySQL 5.7 我正在使用 ubuntu 14.04。我已经尝试过 MySQL 网站上的教程。如何升级我的服务器?
最佳思路
这对我有用:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
sudo gdebi mysql-apt-config_0.8.10-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server
第二个命令将要求输入:
选择5.7后选择”apply”
$ mysql --version
mysql Ver 14.14 Distrib 5.7.8-rc, for Linux (x86_64) using EditLine wrapper
安装后不要忘记运行 mysql_upgrade 以升级系统表并重新启动服务器,遵循 MySQL Upgrading guide 。
$ mysql_upgrade
或者
$ sudo mysql_upgrade -u root -p
并重启mysql
sudo service mysql restart
次佳思路
你可以看到我的评论,@Rinzwind 的解决方案在我的情况下不起作用(Ubuntu 14.04,Mysql 5.5)。所以我搜索了解决方案,并在 Digital Ocean Tutorial 找到了对我有用的答案。
首先,备份所有数据库。
mysqldump --all-databases > all_databases.sql
如果上述命令对您不起作用,请尝试以下命令。
mysqldump -u root -p --all-databases > all_databases.sql
我正在粘贴对我有用的教程的特定部分。
如果要安装 MySQL 5.7,则需要从 MySQL APT 存储库页面添加较新的 APT 包存储库。单击右下角的下载,然后从不,谢谢,开始我的下载中复制下一页上的链接。将 .deb 包下载到您的服务器。
wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
接下来,使用 dpkg 安装它。
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb
您将看到一个提示,询问您要配置哪个 MySQL 产品。突出显示的 MySQL 服务器选项应该是 mysql-5.7。如果没有,请按 ENTER,然后使用箭头键向下滚动到 mysql-5.7,然后再次按 ENTER。
一旦选项显示 mysql-5.7,在主菜单上向下滚动到 Apply 并再次按 ENTER。现在,更新您的包裹索引。
sudo apt-get update
最后,安装 MySQL-server 包,它现在包含 MySQL 5.7。
sudo apt-get install mysql-server
现在升级所有 mysql 数据库。
sudo mysql_upgrade -u root -p
现在重新启动 mysql 服务器。
sudo service mysql restart
总是在 https://dev.mysql.com/downloads/repo/apt/ 找到最新版本的 mysql-at-config 文件
第三种思路
从 14.04 升级到 16.04 时也会发生这种情况,这会导致不受支持的 mysql 升级 (5.5 -> 5.7),这不是 mysql 记录的受支持的升级路径。解决此问题的最简单方法是将 mysql 升级到 5.6,同时仍低于 14.04。您可以通过首先(当然!)转储所有数据库来实现此目的;
主机名#mysqldump –lock-all-tables -u root -p –all-databases >备份.sql
然后升级到mysql 5.6;
主机名 # apt-get 安装 mysql-server-5.6 mysql-client-5.6 mysql-server-core-5.6 mysql-client-core-5.6
这样,您的所有数据库都已就地升级,并且(到目前为止在我的机器上)完全安全且透明地升级到 5.6。升级后的唯一问题可能是 TIMESTAMP 条目。现在,即使在 do-release-upgrade 到 16.04 之后,mysql 仍然停留在 5.6,并且在发布升级期间围绕不支持从 5.5 直接升级到 5.7 的问题甚至从未浮出水面。
希望这可以帮助,
凯莉。