equ*_*ion 13 debian apt mysql upgrade turnkey
我正在使用 Turnkey Linux 虚拟机。那里的 Debian 版本显然在“Wheezy”升级路径上(如果你这么称呼它的话)。正如您所看到的,我对 Linux 并不完全满意。
我需要 MySQL 5.6 提供的一些新功能,而我当前安装的是 MySQL 5.5.35。我想获得最新版本(发布时为 5.6.17)或至少任何 5.6.x。
我试过apt-get update,apt-get upgrade,apt-get dist-upgrade。这些成功更新了一堆东西,但没有一个是 MySQL。我试过了apt-get upgrade mysql-server,它说我已经有了最新版本。
当我需要 5.6 时,网络上的 Debian Wheezy 软件包存储库列表显示 MySQL 5.5 而没有其他内容。然后我读了一些关于“backports”的东西,听起来它可能能让我得到我的特定 Debian 不应该拥有的东西——但我似乎无法让它工作。它需要向/etc/apt/sources.list.d/sources.list. 当我尝试这样做,然后运行时apt-get update,我收到 404 错误。
我也尝试了其他几种方法,其中一种是编译 vanilla MySQL 下载,但我失败了,不想再试一次。
我对如何做到这一点感到非常困惑。论坛/博客上列出的大多数apt-get,甚至是 的 URLwget似乎在发布后很快就消失了,所以我不明白有人是如何找到正确的信息的。我已经连续两天尝试这样做了,但无处可去。
因此,假设您已经阅读了这么多,我很想知道是否有人可以通过某种相对轻松的自动化方式在 Debian 中升级 MySQL(我不必make手动使用或导出/导入我当前的数据库和配置) )。
从 wheezy 上的实验重建实验性 5.6 MySQL 源代码非常简单,几乎微不足道。但是,您将需要大量的磁盘空间;构建完成后,构建目录使用了 5.2 GB。此外,它需要一段时间来构建,并运行大量的测试。我没有费心去计时,但留了几个小时。可以禁用测试,但我建议让它们运行 - 只要它们通过就无害。他们在我的机器上做了。好消息是我能够毫不费力地构建和安装它。我进行了以下基本测试。
faheem@orwell:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 50
Server version: 5.6.16-1~exp1 (Debian)
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Run Code Online (Sandbox Code Playgroud)
所以,我至少可以连接到服务器。以下是已安装的软件包的样子:
$ dpkg -l | grep mysql
ii libdbd-mysql-perl 4.021-1+b1 amd64 Perl5 database interface to the MySQL database
ii libmysqlclient18:amd64 5.5.35+dfsg-0+wheezy1 amd64 MySQL database client library
ii libqt4-sql-mysql:amd64 4:4.8.2+dfsg-11 amd64 Qt 4 MySQL database driver
ii mysql-client-5.6 5.6.16-1~exp1 amd64 MySQL database client binaries
ii mysql-client-core-5.6 5.6.16-1~exp1 amd64 MySQL database core client binaries
ii mysql-common 5.5.35+dfsg-0+wheezy1 all MySQL database common files, e.g. /etc/mysql/my.cnf
ii mysql-common-5.6 5.6.16-1~exp1 all MySQL 5.6 specific common files, e.g. /etc/mysql/conf.d/my-5.6.cnf
ii mysql-server-5.6 5.6.16-1~exp1 amd64 MySQL database server binaries and system database setup
ii mysql-server-core-5.6 5.6.16-1~exp1 amd64 MySQL database server binaries
ii python-mysqldb 1.2.3-2 amd64 Python interface to MySQL
Run Code Online (Sandbox Code Playgroud)
以下是步骤的细分。
首先,获取来源。您需要添加以下内容(或类似的内容,根据您的首选服务器进行调整)/etc/apt/sources.list:
deb-src http://debian.lcs.mit.edu/debian/ experimental main non-free contrib
Run Code Online (Sandbox Code Playgroud)还将以下内容添加到/etc/apt/preferences.
Package: *
Pin: release a=experimental
Pin-Priority: 1
Run Code Online (Sandbox Code Playgroud)然后运行
apt-get update
Run Code Online (Sandbox Code Playgroud)然后运行
apt-get source mysql-5.6
Run Code Online (Sandbox Code Playgroud)
在一些合适的目录中。我通常在 中创建一个目录/usr/local/src,
在本例中为/usr/local/src/mysql。
然后 cd 到/usr/local/src/mysql.
跑步
sudo apt-get build-dep mysql-5.6
Run Code Online (Sandbox Code Playgroud)
在我的机器上安装了几个软件包。
安装一些基本的构建包。
apt-get install build-essential devscripts fakeroot
Run Code Online (Sandbox Code Playgroud)
然后 cd 进入生成的源目录/usr/local/src/mysql/mysql-5.6-
5.6.16并运行
debuild -uc -us
Run Code Online (Sandbox Code Playgroud)
这需要一段时间来构建。在某些情况下,增加版本号是个好主意
,但这里并不是真的有必要。因为其他 MySQL 5.6 软件包不太可能出现问题。
如果您不想运行测试,可以使用
DEB_BUILD_OPTIONS="nocheck" debuild -uc -us
Run Code Online (Sandbox Code Playgroud)现在您应该安装 libdbd-mysql-perl,它是 mysql 软件包的运行时依赖项。
apt-get install libdbd-mysql-perl
Run Code Online (Sandbox Code Playgroud)然后 cd 上一级到/usr/local/src/mysql。那里应该有一些 deb 包。你至少需要安装
mysql-client-core-5.6_5.6.16-1~exp1_amd64.deb
mysql-common-5.6_5.6.16-1~exp1_all.deb
mysql-server-5.6_5.6.16-1~exp1_amd64.deb
mysql-client-5.6_5.6.16-1~exp1_amd64.deb
mysql-server-core-5.6_5.6.16-1~exp1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
例如,可以通过运行以下命令来完成此操作:
dpkg -i mysql-client-core-5.6_5.6.16-1~exp1_amd64.deb
mysql-common-5.6_5.6.16-1~exp1_all.deb
mysql-server-5.6_5.6.16-1~exp1_amd64.deb
mysql-client-5.6_5.6.16-1~exp1_amd64.deb
mysql-server-core-5.6_5.6.16-1~exp1_amd64.deb
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
45474 次 |
| 最近记录: |