mysql5.7.27報錯 [Note] InnoDB: Starting shutdown...

  • 阿里雲的centos7的服務器

[root@izm5ecu9iant4iojp69m4dz ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper

  • ##查看版本

[root@izm5ecu9iant4iojp69m4dz ~]# cat /proc/version 
Linux version 3.10.0-514.26.2.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017

  • 查看版本

[root@izm5ecu9iant4iojp69m4dz ~]# uname -a
Linux izm5ecu9iant4iojp69m4dz 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

  • 查看位數

[root@izm5ecu9iant4iojp69m4dz ~]# getconf LONG_BIT
64

  • 看版本 不知道爲啥看不了

[root@izm5ecu9iant4iojp69m4dz ~]# cat /etc/issue
\S
Kernel \r on an \m
 

  • 修改mysql密碼
  • 登錄進去後出現查看,查看用戶權限

mysql> show grants for root;
+----------------------------------+
| Grants for root@%                |
+----------------------------------+
| GRANT USAGE ON *.* TO 'root'@'%' |
+----------------------------------+
1 row in set (0.00 sec)

  • 只有一個數據庫,感覺不對,後來查資料得知進入一個匿名用戶裏,只能查看不能修改任何東西提示沒有權限。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)

 

  • 停掉數據庫

systemctl stop  mysqld.service

mysqld_safe --skip-grant-table       ##屏蔽權限 ,提示沒有mysqld_safe這個命令,好像的5.7.27版本里默認沒有這個

後來,

whereis mysqld_safe  ##查看果然沒有這個命令

在my.cnf添加skip-grant-table後重啓服務器報錯,沒找出來爲啥會報錯

[root@izm5ecu9iant4iojp69m4dz mysql]# ps -ef|grep mysql
mysql    23352     1  0 22:24 ?        00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
mysql    23356     1  0 22:24 ?        00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root     23371  2176  0 22:24 pts/0    00:00:00 grep --color=auto mysql

drwxr-x--x 5 mysql mysql     4096 Sep 17 20:50 mysql
[root@izm5ecu9iant4iojp69m4dz mysql]# kill -9 428  ##殺進程說是沒有這個進程
-bash: kill: (428) - No such process

數據庫處於活動狀態,卻是關閉狀態

日誌文件裏提示

2019-09-17T15:04:21.935243Z 0 [Note] Shutting down plugin 'InnoDB'
2019-09-17T15:04:21.937491Z 0 [Note] InnoDB: FTS optimize thread exiting.
2019-09-17T15:04:21.937679Z 0 [Note] InnoDB: Starting shutdown...一直啓動關閉,網上說是數據表損壞了,感覺莫名其妙,最後也沒有找到原因
2019-09-17T15:04:22.038034Z 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2019-09-17T15:04:22.038198Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 19091

解決辦法:卸載重新安裝

卸載mysql數據庫

使用以下命令查看當前安裝mysql情況,查找以前是否裝有mysql
rpm -qa|grep -i mysq

[root@izm5ecu9iant4iojp69m4dz etc]# rpm -qa|grep -i mysq
mysql-community-common-5.7.27-1.el7.x86_64
mysql-community-libs-5.7.27-1.el7.x86_64
mysql-community-client-5.7.27-1.el7.x86_64
mysql-community-server-5.7.27-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-libs-compat-5.7.27-1.el7.x86_64

yum remove mysql-community-common-5.7.27-1.el7.x86_64  -y
yum remove mysql-community-libs-5.7.27-1.el7.x86_64  -y
yum remove mysql-community-client-5.7.27-1.el7.x86_64  -y
yum remove mysql-community-server-5.7.27-1.el7.x86_64  -y
yum remove mysql57-community-release-el7-10.noarch  -y
yum remove mysql-community-libs-compat-5.7.27-1.el7.x86_64  -y


查看mysql的其它依賴:rpm -qa | grep -i mysql

  • 刪除mysql文件目錄

使用命令查看mysql相關的文件目錄:find / -name mysql
/usr/share/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/var/lib/mysql/mysql/mysql
/etc/selinux/targeted/active/modules/100/mysql

[root@izm5ecu9iant4iojp69m4dz etc]# rm -rf /usr/share/mysql
[root@izm5ecu9iant4iojp69m4dz etc]# rm -rf /var/lib/mysql
[root@izm5ecu9iant4iojp69m4dz etc]# rm -rf /var/lib/mysql/mysql
[root@izm5ecu9iant4iojp69m4dz etc]# rm -rf /var/lib/mysql/mysql/mysql
[root@izm5ecu9iant4iojp69m4dz etc]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@izm5ecu9iant4iojp69m4dz etc]# find / -name mysql

刪除完成

 

  • 重新安裝

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  • 安裝rpm包

直接使用yum -y install 命令安裝mysql是無法安裝mysql的高級版本,需要先安裝帶有可用的mysql5系列社區版資源的rpm包,輸入如下命令進行安裝
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm 

  • 查看mysql可用版本

然後使用如下命令查看mysql的可用版本
命令:yum repolist enabled | grep "mysql.*-community.*"

  • 安裝mysql

然後就可以開始安裝mysql了,一般我們只需要安裝mysql-server和mysql-client就可以了。
輸入如下命令安裝開始安裝mysql
命令:yum -y install mysql-community-server
安裝過程中yum會自己檢測依賴包下載安裝,等待安裝完成即可

[root@izm5ecu9iant4iojp69m4dz ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community                 118
mysql-tools-community/x86_64      MySQL Tools Community                       95
mysql57-community/x86_64          MySQL 5.7 Community Server                 364

可以使用命令讓mysq服務加入開機啓動(可選):systemctl enable mysqld

 

  • 開啓mysql服務

mysql安裝成功後使用命令開啓服務:systemctl start mysql
使用命令查看mysql狀態:systemctl status mysql

  • 5.7.27版的安裝後默認有root密碼

查找mysql密碼
grep "password" /var/log/mysqld.log

進入後修改密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

賦予所有權


GRANT select ON *.* TO 'root'@'%'IDENTIFIED BY'123456';
flush privileges;

完活!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章