MySQL在XAMPP Ubuntu中无法启动

17
我有一个已安装PHP和MySQL的实例,现在我正在尝试在我的系统上安装XAMPP。我能够运行XAMPP的PHP,但在启动服务时,我遇到了以下错误。我想通过停止其他服务来同时运行两个MySQL。
以下是我的终端输出:
$ sudo /opt/lampp/lampp start
Starting XAMPP for Linux 1.8.0...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Couldn't start MySQL!
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Please help, thanks


2
请检查日志 /opt/lampp/logs - Stephan
1
可能是无法启动XAMPP时MySQL无法启动!的重复问题。 - Maerlyn
20个回答

31

你所需要做的就是先停止Mysql和apache2。

sudo service mysql stop
sudo /etc/init.d/apache2 stop

然后开始你的

sudo /opt/lampp/lampp start
  1. 切换到XAMPP安装目录。键入以下内容:

cd /opt/lampp
  • 输入“打开”命令。键入

    and press ↵ Enter

  • sudo ./manager-linux-x64.run
    
    1. 输入您的密码并按 ↵ Enter 键

    提示输入密码时,请输入您通常用于登录计算机的密码, 然后按 ↵ Enter 键。


    19

    如果你正在使用Ubuntu,那么为什么要使用XAMPP呢?

    sudo apt-get install apache2 mysql-server phpmyadmin php5;

    cd;mkdir www

    pico /etc/apache2/sites-available/default

    将文档根目录更改为刚刚创建的www目录,它应该类似于/home/yourusername/www/

    service apache2 restart

    恭喜您现在正常地在Linux机器上运行完整的LAMP堆栈。 访问http://localhost/http://localhost/phpmyadmin/


    我有一个问题,希望你能帮忙。我正在运行phpmyadmin,并在其中创建了一个名为/www/test的文件夹。我已经在apache2文件夹中的sites-available中添加了conf文件。我创建了一个访问数据库的php脚本,但是每当我尝试向数据库添加内容时都没有任何更改,我认为mysql没有连接成功。你能帮忙吗? - VyomYdv

    15

    这个帮助了我...

    以下内容来自MySQL数据库在Mac上的XAMPP中无法启动

    1. Open XAMPP Installation Directory
    
    2. Open "etc" Folder
    
    3. Find "my.cnf" file and open it in any text editor
    
    4. Change Port from 3306 to 3307 (if you have installed skype or other apps)
    
    5. Add "innodb_force_recovery=1" under "myisam_sort_buffer_size=8M"
    
    6. Save "my.cnf" file
    
    7. Open xampp:-
    
    8. Goto Computer(opt)> Open lampp folder(Search "lampp" if u can't see lampp folder)> Open manager-linux.run
    
    9. In XAMPP Click on "Manage Server" Tab> Click on "Mysql Database"> Click on "Configure"> Change Port from 3306 to 3307> save and start the mysql database. 
    

    您收到一条消息:“开始MySQL 成功!”

    这是一个非常好的方法。 - Alexandr Kovalenko

    10

    你只需要停止 MySql 和 Apache2 然后重新启动它们。

    1. 停止 MySql 和 Apache2

      sudo service mysql stop

      sudo /etc/init.d/apache2 stop

    2. 重新启动

      sudo /opt/lampp/lampp start

    这应该可以解决问题。

    干杯


    1
    请在您的答案中添加一些解释 - 为什么重新启动Apache有助于解决MySQL问题? - Nico Haase
    1
    您的解决方案是我在数小时的谷歌搜索和反复卸载安装后唯一有效的。谢谢。 - NMukama

    6

    如果xampp中的mysql无法启动,可能是端口冲突问题。Mysql默认在3306端口运行。你需要检查是否有其他应用程序占据了该端口。 使用以下命令检查应用程序是否占用了某个端口:

    Linux: netstat -tulpn | grep 3306
    Window: netstat -a -b
    

    如果您发现某个应用程序占用了该端口,请停止该应用程序并重新启动xampp。 作为替代方法,您可以进入php.ini文件或单击下拉菜单中的“配置”选项,并将mysql端口更改为3307。


    5
    感谢您的回答。 我试图在已经运行一个MySQL服务的情况下启动它。 在启动XAMPP MySQL和Apache之前,请停止MySQL和Apache实例。

    sudo service apache2 stop

    sudo service mysql stop

    然后

    sudo /opt/lampp/lampp start


    2
    我有一个相同的问题。
    我的解决方法是:
    1. 备份您的htdocs文件夹
    2. 备份您的数据库文件夹'/opt/lampp/var/mysql'
    3. 检查/opt/lampp/var/mysql上的用户$ ls -la
    4. 重新安装xampp并删除数据
    5. 将您的数据库文件夹复制粘贴到/opt/lampp/var/mysql
    6. 在/opt/lampp/var/mysql中粘贴后更改用户访问权限以涵盖所有文件和文件夹
    要检查文件夹中的用户,请执行以下操作:
    $ cd /opt/lampp/var/mysql
    $ ls -la
    

    更改所有文件和文件夹的用户文件夹

    $ sudo chown -R mysql:mysql *
    

    并且,基于您的计算机,有1个文件 例如:

    $ sudo chown -R mysql:root emild-desktop.err
    

    emild-desktop.err是我电脑的日志错误

    1. 将您的htdocs文件夹复制粘贴到/opt/lampp目录下

    2. 重新启动lampp服务。

      $ sudo /opt/lampp/lampp start


    2
    如果 Apache 和 MySQL 数据库停止了,那么运行以下命令:
    1. sudo apachectl stop
    停止 MySql 和 Apache2:
    1. sudo service mysql stop

    2. sudo /etc/init.d/apache2 stop

    重新启动:
    1. sudo /opt/lampp/lampp start
    这对我有效。

    我的MySQL没有启动,然后显示“Permission denied”。除了你的命令之外,我运行了sudo chown -R mysql:mysql /opt/lampp/var/mysql,结果它就像魔术般地工作了! - testing_22

    1

    1
    我已经这样解决了:

    sudo chmod -R 777 /opt/lampp
    
    sudo chown -hR nobody /opt/lampp
    sudo chmod -R 755 /opt/lampp
    

    我停止了其他正在运行的服务。

     sudo /etc/init.d/mysql start   
    

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接