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;

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

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