[英]Can't install mysql on pure ubuntu 20.04
我刚刚安装了 WSL Ubuntu 20.04,我做的第一件事是
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mysql-server
它给了我什么
Setting up mysql-server-8.0 (8.0.20-0ubuntu0.20.04.1) ...
invoke-rc.d: could not determine current runlevel
* Stopping MySQL database server mysqld [ OK ]
update-alternatives: using /etc/mysql/mysql.cnf to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Renaming removed key_buffer and myisam-recover options (if present)
Cannot open /proc/net/unix: No such file or directory
Cannot stat file /proc/1/fd/5: Operation not permitted
Cannot stat file /proc/1/fd/10: Operation not permitted
Cannot stat file /proc/1/fd/6: Operation not permitted
Cannot stat file /proc/42/fd/7: Operation not permitted
Cannot stat file /proc/42/fd/10: Operation not permitted
Cannot stat file /proc/42/fd/5: Operation not permitted
mysqld will log errors to /var/log/mysql/error.log
mysqld is running as pid 3726
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package mysql-server-8.0 (--configure):
installed mysql-server-8.0 package post-installation script subprocess returned error exit status 1
和
dpkg:依赖问题阻止了 mysql-server 的配置:
mysql-server depends on mysql-server-8.0; however:
Package mysql-server-8.0 is not configured yet.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
Setting up libcgi-pm-perl (4.46-1) ...
No apport report written because the error message indicates its a followup error from a previous failure.
Setting up libhtml-template-perl (2.97-1) ...
Setting up libcgi-fast-perl (1:2.15-1) ...
Processing triggers for systemd (245.4-4ubuntu3.1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...
Errors were encountered while processing:
mysql-server-8.0
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
然后我尝试sudo mysql_secure_installation
Error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
这不仅在 WSL 上。
我和你有同样的问题; 我在Windows 10中使用Ubuntu 20.04 WSL
版本执行了以下操作,它帮助了我。 首先,由于dependency problems - leaving unconfigured
的错误,我在这里按照这个答案清除MySQL并尝试重新安装:
sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get dist-upgrade
sudo apt-get install mysql-server
完成后问题仍然存在(但无论如何这肯定是有帮助的)。
下一个线索是Can't connect to local MySQL server through socket
错误... MySQL命令询问密码并提供错误的密码会导致此错误。 密码还没有设置,对吧? 错误的! 阅读MySQL 8.0 参考手册 - 默认权限安装最初会设置一个随机密码。 所以必须先更改root密码。
为此,我遵循了这个答案。 为方便起见,我在此处复制该答案:
在 ubuntu 我做了以下事情:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking
然后在新终端中运行 mysql:
mysql -u root
并运行以下查询来更改密码:
UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;
在 MySQL 5.7 中,删除了 mysql.user 表字段中的密码字段,现在字段名称为“authentication_string”。
引用答案后,请注意PASSWORD()
function 已被弃用,因为在此处的此答案中共享。 如那里所述,只需使用我使用的任何MySQL 加密函数替换它MD5()
。
最后:
sudo service mysql start
* Starting MySQL database server mysqld [ OK ]
作为第一步,尝试这些步骤
sudo apt-get remove --purge mysql*
sudo apt-get purge mysql*
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get remove dbconfig-mysql
sudo apt-get dist-upgrade
如果您遇到相同的错误,请尝试删除 MySQL dpkgs 。 为此,请尝试以下步骤
dpkg -l | grep mysql
然后你会看到mysql封装,一一去掉
sudo apt purge [package_name]
或者
sudo dpkg purge [package_name]
虽然有些 pkgs 不会被删除。保持原样并尝试再次安装 mysql 服务器。
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
希望你得到答案。 谢谢你。
安装冻结时
> sudo killall mysqld
并继续安装
我在新的 VPS 上遇到了这个问题。 我通过添加一些交换空间来解决它
# Add swap space on Ubuntu 20 (1000MB)
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
然后运行
sudo apt-get install -y mysql-server
这种解决方法也适用于 WSL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.