CentOS7安装MySQL5.6冲突总结

[root@localhost ypeng]# service mysql status

Redirecting to /bin/systemctl status mysql.serviceUnit 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_64MySQL-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_logfile1drwx--x--x. 2 mysql mysql 4096 Mar 14 09:22 mysqldrwx------. 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-LASTdrwxr-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.rpmwarning: MySQL-server-5.6.35-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYPreparing... ################################# [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 startStarting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

[root@localhost ~]# ll /var/lib/mysqltotal 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.errdrwx--x--x. 2 mysql mysql 4096 Mar 14 09:28 mysqldrwx------. 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-LASTdrwxr-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 startStarting 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 

相关推荐