[root@localhost ypeng]# service mysql status
Redirecting to /bin/systemctl status mysql.service
Unit mysql.service could not be found.
出现以上安装错误的原因是:系统已经可能是系统装了其他版本的mysql-libs包或者是mysql数据库文件导致不兼容。
可以将MySQL彻底卸载并清理MySQL的安装文件。步骤如下
[root@localhost ypeng]# rpm -qa | grep -i mysql
MySQL-server-5.6.35-1.el7.x86_64
MySQL-client-5.6.35-1.el7.x86_64
[root@localhost mysql]# rpm -e MySQL-server-5.6.35-1.el7.x86_64
[root@localhost mysql]# rpm -e MySQL-client-5.6.35-1.el7.x86_64
[root@localhost mysql]# rpm -aq | grep -i mysql
[root@localhost mysql]# cd /var/lib
[root@localhost lib]# ll mysql/
-rw-rw----. 1 mysql mysql 50331648 Mar 14 09:22 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Mar 14 09:22 ib_logfile1
drwx--x--x. 2 mysql mysql 4096 Mar 14 09:22 mysql
drwx------. 2 mysql mysql 4096 Mar 14 09:22 performance_schema
-rw-r--r--. 1 root root 111 Mar 14 09:22 RPM_UPGRADE_HISTORY
-rw-r--r--. 1 mysql mysql 111 Mar 14 09:22 RPM_UPGRADE_MARKER-LAST
drwxr-xr-x. 2 mysql mysql 6 Mar 14 09:22 test
如上所示,将mysql下的所有文件删除
[root@localhost lib]# rm -rf mysql/
[root@localhost lib]# ll mysql/
ls: cannot access mysql/: No such file or directory
[root@localhost mysql]# rpm -ivh MySQL-server-5.6.35-1.el7.x86_64.rpm
warning: MySQL-server-5.6.35-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:MySQL-server-5.6.35-1.el7 ################################# [100%]
从 rpm版本 4.1 开始,在安装或升级软件包时会检查软件包的签名。如果签名校验失败,你就会看到类似以上的错误消息:
注:新的、只针对文件头的签名:错误消息:error: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
注:没有安装合适的钥匙来校验签名,消息中就会包含 NOKEY:错误消息:warning: Header V3 DSA/SHA1
Signature, key ID 5072e1f5: NOKEY
由于yum安装了旧版本的GPG keys造成的,解决办法就是(设置后无效):
rpm --import /etc/pki/rpm-gpg/RPM*
此签名是检验安装包的有效性和安装性的。我直接跳过(安装时不校验,加--nosignature参数)检验安装:
[root@localhost mysql]# rpm -ivh MySQL-server-5.6.35-1.el7.x86_64.rpm --nosignature
[root@localhost mysql]# service mysql start
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
[root@localhost ~]# ll /var/lib/mysql
total 110640
-rw-rw----. 1 mysql mysql 56 Mar 14 09:30 auto.cnf
-rw-rw----. 1 mysql mysql 12582912 Mar 14 10:14 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Mar 14 10:14 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Mar 14 09:28 ib_logfile1
-rw-rw----. 1 mysql mysql 26560 Mar 14 10:14 localhost.localdomain.err
drwx--x--x. 2 mysql mysql 4096 Mar 14 09:28 mysql
drwx------. 2 mysql mysql 4096 Mar 14 09:28 performance_schema
-rw-r--r--. 1 root root 111 Mar 14 09:28 RPM_UPGRADE_HISTORY
-rw-r--r--. 1 mysql mysql 111 Mar 14 09:28 RPM_UPGRADE_MARKER-LAST
drwxr-xr-x. 2 mysql mysql 6 Mar 14 09:28 test
查看路径:mysql-bin.index多余文件,auto.cnf和performance_schema等不存在(文件不全)。(以上为成功后的mysql数据库目录)
因为以前存在的MySQL卸载不干净导致。删除和卸载(以下是的解决),然后重新安装
再次启动MySQL服务器
[root@localhost ypeng]# service mysql start
Starting MySQL... SUCCESS!
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决问题步骤:
1.在mysql关闭的情况下:
/etc/init.d/mysql start -skip-grant-tables
2.接下来直接连接mysql,进入mysql命令行
mysql -u root p
mysql> UPDATE user SET Password=PASSWORD('123456') where USER='root';
mysql> FLUSH PRIVILEGES;
3.最后我们重启mysql
/etc/init.d/mysql restart
可以连接了
mysql - u root -p
输入123456