mysql重新安裝

mysql重新安裝

有類似的問題,但沒有一個解決了我給定的問題,所以如果我錯過了什麼,我深表歉意。

mysqldbcopy當我的實例用完可用空間時,我用來製作資料庫的副本。 Mysql崩潰了,無法重新啟動。為了釋放空間,我從 中刪除了具有新資料庫名稱的資料夾/var/lib/mysql。 Mysql 仍然無法重新啟動,所以我刪除/var/lib/mysql並嘗試使用sudo mysql_install_db.這有效,但我無法再使用或不使用密碼登錄,也無法重設密碼。

作為最後一次嘗試,我剛剛做了

sudo apt-get remove --purge mysql*

但是當我去重新安裝時,我得到了

Do you want to continue? [Y/n] y
Preconfiguring packages ...
Selecting previously unselected package mysql-server-core-5.7.
(Reading database ... 94735 files and directories currently installed.)
Preparing to unpack .../mysql-server-core-5.7_5.7.18-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-server-core-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Selecting previously unselected package mysql-server-5.7.
Preparing to unpack .../mysql-server-5.7_5.7.18-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.18-0ubuntu0.16.04.1_all.deb ...
Unpacking mysql-server (5.7.18-0ubuntu0.16.04.1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for systemd (229-4ubuntu16) ...
Processing triggers for ureadahead (0.100.0-19) ...
Setting up mysql-server-core-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
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)
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
Processing triggers for systemd (229-4ubuntu16) ...No apport report written because the error message indicates its a followup error from a previous failure.

Processing triggers for ureadahead (0.100.0-19) ...
Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

我沒主意了。任何建議表示讚賞。

輸出sudo dpkg -r --force-all mysql-server mysql-server-5.7 && sudo apt install -f

$ sudo dpkg -r --force-all mysql-server mysql-server-5.7 && sudo apt install -f
(Reading database ... 94924 files and directories currently installed.)
Removing mysql-server (5.7.18-0ubuntu0.16.04.1) ...
Removing mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
Processing triggers for man-db (2.7.5-1) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.0-5 libfcgi-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl libhttp-date-perl
  libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libtimedate-perl liburi-perl
  mysql-server-core-5.7 python-mysql.connector
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 50 not upgraded.

輸出sudo apt-get install mysql-server

$ sudo apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  python-mysql.connector
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  mysql-server-5.7
Suggested packages:
  mailx tinyca
The following NEW packages will be installed:
  mysql-server mysql-server-5.7
0 upgraded, 2 newly installed, 0 to remove and 50 not upgraded.
Need to get 0 B/2,565 kB of archives.
After this operation, 48.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Preconfiguring packages ...
Selecting previously unselected package mysql-server-5.7.
(Reading database ... 94847 files and directories currently installed.)
Preparing to unpack .../mysql-server-5.7_5.7.18-0ubuntu0.16.04.1_amd64.deb ...
Unpacking mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
Selecting previously unselected package mysql-server.
Preparing to unpack .../mysql-server_5.7.18-0ubuntu0.16.04.1_all.deb ...
Unpacking mysql-server (5.7.18-0ubuntu0.16.04.1) ...
Processing triggers for systemd (229-4ubuntu16) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mysql-server-5.7 (5.7.18-0ubuntu0.16.04.1) ...
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)
mysql_upgrade: Got error: 1045: Access denied for user 'debian-sys-maint'@'localhost' (using password: YES) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
mysql_upgrade failed with exit status 11
dpkg: error processing package mysql-server-5.7 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.7; however:
  Package mysql-server-5.7 is not configured yet.

dpkg: error processing package mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
         Errors were encountered while processing:
 mysql-server-5.7
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

所以我嘗試mysqld在終端機中運行並看到

mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't e$ists.

這導致我創建該目錄(並更新權限)。那時我可以

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

然後我可以以安全模式啟動

sudo /usr/bin/mysqld_safe --skip-grant-tables &

並手動設定密碼

USE mysql
UPDATE mysql.user
SET authentication_string=PASSWORD('hunter4')
WHERE user='root' AND host='localhost';

相關內容