是否可以在 Ubuntu 16.04 上安装 MySQL 5.5 或 5.6?

idr*_*ris 14 mysql package-management 16.04

我最近升级到 Ubuntu 16.04。不幸的是,我需要使用 MySQL 5.5 或 5.6。我尝试了很多解决方案让 MySQL 5.5 或 5.6 在 Ubuntu 16.04 上运行,就像这样在 Ubuntu 16.04 上安装 MySql 5.6。但他们都没有工作。Ubuntu 检测到未满足的依赖项,但对 5.5 说“但它不会被安装”或说“mysql-server-5.6”包没有安装候选...

是否无法在 Ubuntu 上强制使用较早版本的 MySQL?这是为什么?

小智 24

在 Ubuntu 16.04 Xenial-Xerus 上安装 mysql 5.5.x 的分步指南*。请参阅此文档

或者

请参阅以下步骤:

在 Ubuntu 16.06 上安装 MySQL 5.5.51

  1. 卸载任何现有版本的 MySQL

    sudo rm /var/lib/mysql/ -R
    
    Run Code Online (Sandbox Code Playgroud)
  2. 删除 MySQL 配置文件

    sudo rm /etc/mysql/ -R
    
    Run Code Online (Sandbox Code Playgroud)
  3. 自动卸载mysql

    sudo apt-get autoremove mysql* --purge
    sudo apt-get remove apparmor
    
    Run Code Online (Sandbox Code Playgroud)
  4. 从 MySQL 站点下载 5.5.51 版

    wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  5. 添加mysql用户组

    sudo groupadd mysql
    
    Run Code Online (Sandbox Code Playgroud)
  6. 添加mysql(不是当前用户)到mysql用户组

    sudo useradd -g  mysql mysql
    
    Run Code Online (Sandbox Code Playgroud)
  7. 提取mysql-5.5.51-linux2.6-x86_64.tar.gz/usr/local

    cd /usr/local
    sudo tar -xvf mysql-5.5.49-linux2.6-x86_64.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  8. 在中创建mysql文件夹/usr/local

    sudo mv mysql-5.5.49-linux2.6-x86_64 mysql
    
    Run Code Online (Sandbox Code Playgroud)
  9. 设置mysql目录所有者和用户组

    cd mysql
    sudo chown -R mysql:mysql *
    
    Run Code Online (Sandbox Code Playgroud)
  10. 安装所需的lib包

    sudo apt-get install libaio1
    
    Run Code Online (Sandbox Code Playgroud)
  11. 执行mysql安装脚本

    sudo scripts/mysql_install_db --user=mysql
    
    Run Code Online (Sandbox Code Playgroud)
  12. 从 mysql 目录外部设置 mysql 目录所有者

    sudo chown -R root .
    
    Run Code Online (Sandbox Code Playgroud)
  13. 从 mysql 目录中设置数据目录所有者

    sudo chown -R mysql data
    
    Run Code Online (Sandbox Code Playgroud)
  14. 复制mysql配置文件

    sudo cp support-files/my-medium.cnf /etc/my.cnf 
    
    Run Code Online (Sandbox Code Playgroud)
  15. 启动mysql

    sudo bin/mysqld_safe --user=mysql &
    sudo cp support-files/mysql.server /etc/init.d/mysql.server
    
    Run Code Online (Sandbox Code Playgroud)
  16. 初始化root用户密码

    sudo bin/mysqladmin -u root password '111111'
    
    Run Code Online (Sandbox Code Playgroud)
  17. 启动mysql服务器

    sudo /etc/init.d/mysql.server start
    
    Run Code Online (Sandbox Code Playgroud)
  18. 停止mysql服务器

    sudo /etc/init.d/mysql.server stop
    
    Run Code Online (Sandbox Code Playgroud)
  19. 检查mysql的状态

    sudo /etc/init.d/mysql.server status
    
    Run Code Online (Sandbox Code Playgroud)
  20. 启动时启用mysql

    sudo update-rc.d -f mysql.server defaults 
    
    Run Code Online (Sandbox Code Playgroud)
  21. 在启动时禁用 mysql(可选)

    sudo update-rc.d -f mysql.server remove
    
    Run Code Online (Sandbox Code Playgroud)
  22. 将mysql路径添加到系统

    sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
    
    Run Code Online (Sandbox Code Playgroud)
  23. 现在直接使用下面的命令启动mysql

    mysql -u root -p 
    
    Run Code Online (Sandbox Code Playgroud)

PS:需要重新启动才能进行更改。

基于中文博客

  • 重启需要在步骤#16 和#17 之间进行,步骤#17-21 才能工作。 (2认同)

idr*_*ris 2

这个答案帮助我弄清楚如何通过.deb从 MySQL 开发网站下载软件包来做到这一点。关于添加 PPA 的解决方案并不适合我。

它链接到一篇博文:How to Install MySQL-5-6 on Ubuntu Precise 很棘手,但它有效。