在 Ubuntu 14.04 LTS 上将 MySQL 5.5 升级到 MySQL 5.6

在 Ubuntu 14.04 LTS 上将 MySQL 5.5 升级到 MySQL 5.6

我已经使用以下命令安装了 LAMP:

sudo apt-get update
sudo apt-get install apache2 apache2-suexec mysql-server php5-mysql
sudo mysql_secure_installation
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install phpmyadmin

这已经是一年前的事了。现在在 PHPMyAdmin 中,我看到了以下内容:

Server: Localhost via UNIX socket
Server type: MySQL
Server version: 5.5.43-0ubuntu0.14.04.1 - (Ubuntu)
Protocol version: 10
Web server
Apache/2.4.7 (Ubuntu)
Database client version: libmysql - 5.5.43
PHP extension: mysqli Documentation

MySQL 版本是5.5.43-0ubuntu0.14.04.1. 如何安全可靠地安装和使用mysql 5.6.4+因为我需要使用FULLTEXTINNODB我看到了 Ubuntu 存储库中的软件包,但我真的应避免任何冲突或安装问题。

谢谢你的帮助。

答案1

我如何安全地安装

这总是很棘手的。

请阅读5.5/5.6 兼容性在执行任何操作之前,请先阅读本页。请注意两者之间的 1 个重大差异:

从 MySQL 5.6.6 开始,多个 MySQL 服务器参数的默认值与以前的版本不同。进行这些更改的目的是提供更好的开箱即用性能,并减少数据库管理员手动更改设置的需要。随着我们收到反馈,这些更改可能会在未来版本中进行修订。

其中最大的变化是,5.5 使用 1 个大文件作为事务日志,而 5.6 使用多个:

因此,如果您要升级现有的 MySQL 安装,尚未更改这些参数以前的默认值,并且向后兼容性是一个问题,则可能需要将这些参数明确设置为以前的默认值。例如,将这些行放入服务器选项文件中:

 [mysqld] 
 innodb_file_per_table=0 
 innodb_checksum_algorithm=INNODB
 binlog_checksum=NONE

如果您使用复制,请注意链接的这一部分:

要升级用于复制的服务器,请先升级从服务器,然后再升级主服务器。如果所有服务器都使用相同的显式默认值,则主服务器和从服务器之间的复制应该可以正常工作:

关闭从属服务器,升级它们,使用所需的显式默认时间值配置它们,然后重新启动它们。

从服务器将从主服务器接收的二进制日志的格式识别出主服务器较旧(早于引入explicit_defaults_for_timestamp)并且来自主服务器的TIMESTAMP列上的操作使用旧的TIMESTAMP行为。

关闭主服务器,对其进行升级,并使用与从服务器相同的显式_defaults_for_timestamp 值进行配置,然后将其重新启动。

如果这是一台生产服务器,我建议首先在测试机器上尝试。我们从 5.5 到 5.6 的过渡相当困难,因此选择安装另一台安装了 5.6 的机器,并使用 mysldump 创建备份并将其加载到该机器上的数据库中。但请注意,如果您有一个大型数据库(由于重新创建了 innodb 事务文件),这将需要很长时间。

通用方法:

  • 使用 mysqldump 创建数据库(用户、表结构和表数据)和配置文件(可能是 /etc/mysql/my.cnf)的备份
  • 删除 5.5。删除 5.5 后,检查 innodb 事务文件是否消失(ibdata1、ib_logfile0 和 ib_logfile1)。由于 5.6 使用了更好的事务版本,我假设您也会使用它...
  • 安装 5.6
  • 更改新的配置文件并添加您对 5.5 所做的更改(请注意上面的链接并检查是否有任何更改已无效)。
  • 将备份上传到 5.6(用户优先)。请注意,这可能需要一些时间,因为它将重新创建新的事务文件。

在命令中(备份后):

sudo apt-get remove mysql-server
sudo apt-get autoremove
sudo apt-get install mysql-client-5.6 mysql-client-core-5.6
sudo apt-get install mysql-server-5.6

相关内容