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