我正在WSL上运行Ubuntu18.04,并试图安装MySQL-server。
我一直得到显示在所附屏幕截图上的错误.我试过好几次
有什么想法吗?我总是犯同样的错误。
发布于 2020-01-22 15:41:23
根据您的输出,它看起来像包mysql-server依赖于mysql-server-5.7,但是mysql-server-5.7在以前的installation.So中没有正确配置,您可以删除mysql-server-5.7及其包并重新安装。
删除‘mysql-server-5.7’及其依赖项
sudo dpkg -r mysql-client-5.7
sudo dpkg -r mysql-server-5.7
sudo dpkg -r libmysqlclient20:i386
sudo dpkg -r libmysqlclient20:amd64
sudo dpkg -r libmysqlclient18:amd64
sudo dpkg -r mysql-common重新安装mysql-server
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation发布于 2020-04-27 23:01:44
我也遇到了同样的问题,我采取了这些措施来解决这个问题。如果您想要快速的TL;DR,只需跳到步骤2(对于MySQL 5.x)或步骤4(对于MySQL 8.x)。
STEP1:
有些人会收到关于套接字的错误(就像管道一样,套接字使mysql服务器与其客户端之间的通信成为可能),因此建议使用命令行选项--protocl=TCP或向mysqld.conf中添加--protocol:tcp以使其使用TCP而不是这些套接字(这些套接字更有利于更快的本地连接)。但是,当我试图保存配置文件(使用"sudo“启动)时,出现了错误Error writing /etc/mysql/mysqld.conf.d/mysqld.conf: No such file or directory"。我甚至从零开始清理了所有东西并重新安装了mysql:
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get remove --purge *mariadb*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt update
sudo apt upgrade
sudo apt-get install mysql-server但对我来说,即使是配置文件也不存在。
STEP2:
我看到正在运行的mysql表示mysql.exe: command not found,所以我认为主要的问题是如何从PATH中找到可执行文件。但是/etc/bin/mysql存在,而且/etc/bin也在路径中,所以我不知道在运行mysql时为什么会得到命令找不到的错误。总之,我运行了/etc/bin/mysql,它给出了另一个错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)意外地尝试了sudo mysql,突然它成功地连接到mysql服务器,并显示了5.7版本。也就是说,只有添加sudo才能使其工作!我不是Linux专家,但我过去认为,当需要sudo时,我应该得到一个permission error,而不是一个mysql.exe: command not found。
STEP3:
我正在学习一个基于MySQL 8的教程,所以我认为升级到MySQL版本8可能会解决我的两个问题(事实证明,sudo的必要性根本不是一个问题,它必须正常存在,如果未配置,则为其他)。因此,我遵循这里中的说明。我将MySQL APT存储库添加到我的存储库列表中,然后apt更新&重新安装mysql服务器。这一次,我得到了一个询问版本的窗口,我选择了版本8。安装完成后,sudo mysql --version给出了mysql Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL),但是这一次甚至sudo mysql也给出了错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)。现在就连sudo也帮不上忙了!
STEP4:
我检查了/var/log/mysql/error.log中的错误日志,发现这个描述有一个问题:Linux Native AIO interface is not supported on this platform。因此,我搜索它并最终修复了使用MySQL在WSL上使用这是来自@jw-红熊猫的非常有用的评论。安装这是来自@jw-红熊猫的非常有用的评论。版本8的问题。
直接安装MySQL 8.x不会在WSL 1上工作(这可能是我们在第3步失败的原因)。启动服务器有问题。以下步骤应有效:
1.删除MySQL 8.x:
sudo apt-get purge mysql-server mysql-client
sudo apt-get -y autoremove2.更改为MySQL 5.x候选人:
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb (如果你没有它,从这里得到它:https://dev.mysql.com/downloads/repo/apt/)
3. MySQL的双重检查当前apt策略为5.x:
sudo apt-get update4.安装MySQL 5.x
sudo service mysql start (this should work without error)5.更改为MySQL 8.x候选
sudo apt-get update
sudo apt policy mysql-server (it will show 8.x is the default candidate)6.安装MySQL 8.x
sudo apt-get -y install mysql-server
7.修改脚本,因为存在bug
sudo nano /etc/init.d/mysql
(search for a line ". /usr/share/mysql/mysql-helpers" and change it to
". /usr/share/mysql-8.0/mysql-helpers")8.将系统表升级到MySQL 8.x
sudo service mysql start (this should start without error)
sudo mysql -u root -p希望这也适用于你!
https://stackoverflow.com/questions/55127513
复制相似问题