MySQL 启动报错Table 'mysql.plugin' doesn't exis(转载)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 安装完成后,按照网上说启动mysql时却报了以下错误:[root@localhost bin]# ./mysqld2015-10-23 16:54:55 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.

安装完成后,按照网上说启动mysql时却报了以下错误:

[root@localhost bin]# ./mysqld

2015-10-23 16:54:55 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-10-23 16:54:55 0 [Note] ./mysqld (mysqld 5.6.27) starting as process 31176 ...

2015-10-23 16:54:55 31176 [Warning] Can't create test file /data/mysql/localhost.lower-test

2015-10-23 16:54:55 31176 [Warning] Can't create test file /data/mysql/localhost.lower-test

./mysqld: Can't change dir to '/data/mysql/' (Errcode: 2 - No such file or directory)

2015-10-23 16:54:55 31176 [ERROR] Aborting

2015-10-23 16:54:55 31176 [Note] Binlog end

2015-10-23 16:54:55 31176 [Note] ./mysqld: Shutdown complete

网上的解决方法有很多,有些我试过不管用,但不能就说这些不管用的文章是乱写的,因为有些问题并不是由一个原因而引起的,不过可以试试,我对mysql了解不多,所以也不加以评论,我是使用以下方法解决的:

首先这个报错,很明显是由于找不到datadir目录/data/mysql/所引起的,其实我安装mysql时候是指定了datadir=/usr/mysqldata,于是我在usr创建了mysqldata目录:

[root@localhost usr]# mkdir -p /usr/mysqldata/

[root@localhost usr]# ls

[root@localhost usr]# chown -R mysql mysqldata

[root@localhost usr]# chgrp -R mysql mysqldata

然后再启动,不过仍然报错:

[root@localhost bin]# ./mysqld

2015-10-23 17:06:33 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-10-23 17:06:33 0 [Note] ./mysqld (mysqld 5.6.27) starting as process 31312 ...

2015-10-23 17:06:33 31312 [Note] Plugin 'FEDERATED' is disabled.

./mysqld: Table 'mysql.plugin' doesn't exist

2015-10-23 17:06:33 31312 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

2015-10-23 17:06:33 31312 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-10-23 17:06:33 31312 [Note] InnoDB: The InnoDB memory heap is disabled

2015-10-23 17:06:33 31312 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-10-23 17:06:33 31312 [Note] InnoDB: Memory barrier is not used

2015-10-23 17:06:33 31312 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-10-23 17:06:33 31312 [Note] InnoDB: Using CPU crc32 instructions

2015-10-23 17:06:33 31312 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-10-23 17:06:33 31312 [Note] InnoDB: Completed initialization of buffer pool

2015-10-23 17:06:33 31312 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created!

2015-10-23 17:06:33 31312 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB

2015-10-23 17:06:33 31312 [Note] InnoDB: Database physically writes the file full: wait...

2015-10-23 17:06:33 31312 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB

2015-10-23 17:06:34 31312 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB

2015-10-23 17:06:34 31312 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0

2015-10-23 17:06:34 31312 [Warning] InnoDB: New log files created, LSN=45781

2015-10-23 17:06:34 31312 [Note] InnoDB: Doublewrite buffer not found: creating new

2015-10-23 17:06:34 31312 [Note] InnoDB: Doublewrite buffer created

2015-10-23 17:06:34 31312 [Note] InnoDB: 128 rollback segment(s) are active.

2015-10-23 17:06:34 31312 [Warning] InnoDB: Creating foreign key constraint system tables.

2015-10-23 17:06:34 31312 [Note] InnoDB: Foreign key constraint system tables created

2015-10-23 17:06:34 31312 [Note] InnoDB: Creating tablespace and datafile system tables.

2015-10-23 17:06:34 31312 [Note] InnoDB: Tablespace and datafile system tables created.

2015-10-23 17:06:34 31312 [Note] InnoDB: Waiting for purge to start

2015-10-23 17:06:34 31312 [Note] InnoDB: 5.6.27 started; log sequence number 0

2015-10-23 17:06:34 31312 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5bed1721-7965-11e5-a520-000c299a432a.

2015-10-23 17:06:34 31312 [Note] Server hostname (bind-address): '*'; port: 3306

2015-10-23 17:06:34 31312 [Note] IPv6 is available.

2015-10-23 17:06:34 31312 [Note]   - '::' resolves to '::';

2015-10-23 17:06:34 31312 [Note] Server socket created on IP: '::'.

2015-10-23 17:06:34 31312 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

从报错上来看,是由于缺少了mysql.plugin表所致的,不过现在连启动都启动不了,怎样创建表呢?所以肯定是其他原因导致的,于时继续网上找继续试,最后找到了这个处理方法,进入mysql安装后的目录scripts执行以下语句:

[root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/home/mysql5627 --datadir=/usr/mysqldata

Installing MySQL system tables...2015-10-23 17:47:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-10-23 17:47:57 0 [Note] /home/mysql5627/bin/mysqld (mysqld 5.6.27) starting as process 31756 ...

2015-10-23 17:47:57 31756 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-10-23 17:47:57 31756 [Note] InnoDB: The InnoDB memory heap is disabled

2015-10-23 17:47:57 31756 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-10-23 17:47:57 31756 [Note] InnoDB: Memory barrier is not used

2015-10-23 17:47:57 31756 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-10-23 17:47:57 31756 [Note] InnoDB: Using CPU crc32 instructions

2015-10-23 17:47:57 31756 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-10-23 17:47:57 31756 [Note] InnoDB: Completed initialization of buffer pool

2015-10-23 17:47:57 31756 [Note] InnoDB: Highest supported file format is Barracuda.

2015-10-23 17:47:57 31756 [Note] InnoDB: Log scan progressed past the checkpoint lsn 49463

2015-10-23 17:47:57 31756 [Note] InnoDB: Database was not shutdown normally!

2015-10-23 17:47:57 31756 [Note] InnoDB: Starting crash recovery.

2015-10-23 17:47:57 31756 [Note] InnoDB: Reading tablespace information from the .ibd files...

2015-10-23 17:47:57 31756 [Note] InnoDB: Restoring possible half-written data pages 

2015-10-23 17:47:57 31756 [Note] InnoDB: from the doublewrite buffer...

InnoDB: Doing recovery: scanned up to log sequence number 1600607

2015-10-23 17:47:57 31756 [Note] InnoDB: Starting an apply batch of log records to the database...

InnoDB: Progress in percent: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 

InnoDB: Apply batch completed

2015-10-23 17:47:58 31756 [Note] InnoDB: 128 rollback segment(s) are active.

2015-10-23 17:47:58 31756 [Note] InnoDB: Waiting for purge to start

2015-10-23 17:47:58 31756 [Note] InnoDB: 5.6.27 started; log sequence number 1600607

2015-10-23 17:47:58 31756 [Note] Binlog end

2015-10-23 17:47:58 31756 [Note] InnoDB: FTS optimize thread exiting.

2015-10-23 17:47:58 31756 [Note] InnoDB: Starting shutdown...

2015-10-23 17:48:00 31756 [Note] InnoDB: Shutdown completed; log sequence number 1625987

OK

Filling help tables...2015-10-23 17:48:00 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2015-10-23 17:48:00 0 [Note] /home/mysql5627/bin/mysqld (mysqld 5.6.27) starting as process 31780 ...

2015-10-23 17:48:00 31780 [Note] InnoDB: Using atomics to ref count buffer pool pages

2015-10-23 17:48:00 31780 [Note] InnoDB: The InnoDB memory heap is disabled

2015-10-23 17:48:00 31780 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2015-10-23 17:48:00 31780 [Note] InnoDB: Memory barrier is not used

2015-10-23 17:48:00 31780 [Note] InnoDB: Compressed tables use zlib 1.2.3

2015-10-23 17:48:00 31780 [Note] InnoDB: Using CPU crc32 instructions

2015-10-23 17:48:00 31780 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2015-10-23 17:48:00 31780 [Note] InnoDB: Completed initialization of buffer pool

2015-10-23 17:48:00 31780 [Note] InnoDB: Highest supported file format is Barracuda.

2015-10-23 17:48:00 31780 [Note] InnoDB: 128 rollback segment(s) are active.

2015-10-23 17:48:00 31780 [Note] InnoDB: Waiting for purge to start

2015-10-23 17:48:00 31780 [Note] InnoDB: 5.6.27 started; log sequence number 1625987

2015-10-23 17:48:00 31780 [Note] Binlog end

2015-10-23 17:48:00 31780 [Note] InnoDB: FTS optimize thread exiting.

2015-10-23 17:48:00 31780 [Note] InnoDB: Starting shutdown...

2015-10-23 17:48:01 31780 [Note] InnoDB: Shutdown completed; log sequence number 1625997

OK

To start mysqld at boot time you have to copy

support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

  /home/mysql5627/bin/mysqladmin -u root password 'new-password'

  /home/mysql5627/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:

  /home/mysql5627/bin/mysql_secure_installation

which will also give you the option of removing the test

databases and anonymous user created by default.  This is

strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /home/mysql5627/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

WARNING: Found existing config file /home/mysql5627/my.cnf on the system.

Because this file might be in use, it was not replaced,

but was used in bootstrap (unless you used --defaults-file)

and when you later start the server.

The new default config file was created as /home/mysql5627/my-new.cnf,

please compare it with your file and take the changes you need.

WARNING: Default config file /etc/my.cnf exists on the system

This file will be read by default by the MySQL server

If you do not want to use this, either remove it, or use the

--defaults-file argument to mysqld_safe when starting the server

然后再运行./mysqld就成功了。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
20天前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
20天前
|
NoSQL 安全 关系型数据库
2024Mysql And Redis基础与进阶操作系列(6)作者——LJS[含MySQL 多表之一对一/多;多对多;多表联合查询等详解步骤及常见报错问题所对应的解决方法]
MySQL 多表之一对一/多;多对多;多表联合之交叉连接;内连接;左、右、外、满、连接;子查询及关键字;自连接查询等详解步骤及常见报错问题所对应的解决方法
|
20天前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
20天前
|
SQL NoSQL 关系型数据库
|
20天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
20天前
|
SQL 关系型数据库 MySQL
|
20天前
|
存储 SQL NoSQL
|
20天前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;举例说明注意点及常见报错问题所对应的解决方法
|
20天前
|
SQL NoSQL 关系型数据库
|
1月前
|
SQL 关系型数据库 MySQL
MySQL异常一之: You can‘t specify target table for update in FROM clause解决办法
这篇文章介绍了如何解决MySQL中“不能在FROM子句中指定更新的目标表”(You can't specify target table for update in FROM clause)的错误,提供了错误描述、需求说明、错误做法和正确的SQL写法。
398 0