Mysql安装错误:无法为MySQL“root”用户设置密码

时间:2017-02-17 18:48:01

标签: mysql

很多人遇到过这个错误,但没有提供解决方案适合我的情况:

在我的ubuntu 14.04服务器中,mysql-server 5.5工作正常,出于某种原因,我们两个人试图升级到5.6,经过一些乱码操作后,他们失败了,只有5.6个客户端,并且安装了mysql-commn ,所以我实际上不知道他们的详细操作,然后我试图降级回5.5这样:

killall -9 mysql
killall -9 mysqld
apt-get purge mysql-*
remove /etc/myql
apt-get install mysql-sever-5.5

收到错误:

 ┌───────────────────────Configuring mysql-server-5.5─────────────────────────┐ 
 │ Unable to set password for the MySQL "root" user                           │ 
 ├────────────────────────────────────────────────────────────────────────────┤

和安装日志如下:

Setting up mysql-server-core-5.5 (5.5.54-0ubuntu0.14.04.1) ...
Setting up mysql-server-5.5 (5.5.54-0ubuntu0.14.04.1) ...
170218  2:15:57 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
170218  2:15:57 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
170218  2:15:57 [Note] /usr/sbin/mysqld (mysqld 5.5.54-0ubuntu0.14.04.1) starting as process 9038 ...
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.5 (--configure):
 subprocess installed post-installation script returned error exit status 1
Processing triggers for libc-bin (2.19-0ubuntu6.7) ...
Errors were encountered while processing:
 mysql-server-5.5
E: Sub-process /usr/bin/dpkg returned an error code (1)

错误日志如下:

 170218  2:15:57 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './mysql/tables_priv.frm'
ERROR: 1033  Incorrect information in file: './mysql/tables_priv.frm'
170218  2:15:57 [ERROR] Aborting

170218  2:15:57 [Note] /usr/sbin/mysqld: Shutdown complete

170218  2:15:57 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and
 will be removed in a future release. Please use the full name instead.
170218  2:15:57 [Note] Plugin 'FEDERATED' is disabled.
170218  2:15:57 InnoDB: The InnoDB memory heap is disabled
170218  2:15:57 InnoDB: Mutexes and rw_locks use GCC atomic builtins
170218  2:15:57 InnoDB: Compressed tables use zlib 1.2.8
170218  2:15:57 InnoDB: Using Linux native AIO
170218  2:15:57 InnoDB: Initializing buffer pool, size = 128.0M
170218  2:15:57 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 50331648 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
170218  2:15:57 [ERROR] Plugin 'InnoDB' init function returned error.
170218  2:15:57 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170218  2:15:57 [ERROR] Unknown/unsupported storage engine: InnoDB
170218  2:15:57 [ERROR] Aborting

170218  2:15:57 [Note] /usr/sbin/mysqld: Shutdown complete

那么,如何解决这个问题呢?有什么建议值得赞赏吗?

2 个答案:

答案 0 :(得分:5)

这样做:

sudo -i
service mysql stop
killall -KILL mysql mysqld_safe mysqld
apt-get --yes purge mysql-server mysql-client
apt-get --yes autoremove --purge
apt-get autoclean
deluser --remove-home mysql
delgroup mysql
rm -rf /etc/apparmor.d/abstractions/mysql /etc/apparmor.d/cache/usr.sbin.mysqld /etc/mysql /var/lib/mysql /var/log/mysql* /var/log/upstart/mysql.log* /var/run/mysqld
updatedb
exit

您可能还需要dpkg -l | grep mysql列出所有已安装的mysql软件包,然后例如每个条目sudo apt-get purge mysql-common

如果执行了上述步骤,并且在运行dpkg -l | grep mysql时没有mysql引用,您可以尝试使用以下命令进行安装:

sudo apt-get install mysql-server-5.5

答案 1 :(得分:1)

我在Ubuntu 16.04 LTS中安装MySQL 5.6版时面临同样的问题。在与朋友搜索和交谈之后,我想出了如何安装这个没有错误。

首先备份您的数据库并按照以下命令执行:

$ sudo apt-get remove --purge *mysql/*
$ sudo apt-get autoremove
$ sudo apt-get autoclean
$ sudo rm -rf /var/lib/mysql
$ sudo apt install mysql-server-5.6
$ sudo apt install mysql-client-5.6