我在 CentOS 中安装了 MySQL 5.7 并尝试启动该服务,但出现此错误。
MySQL Daemon failed to start.
Starting mysqld: [FAILED]
mysqld.log
包含
2016-05-19T06:49:42.595371Z mysqld_safe Starting mysqld daemon with databases fr om /var/lib/mysql
2016-05-19T06:49:42.726232Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see doc umentation for more details).
2016-05-19T06:49:42.726437Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.12) starting a s process 6511 ...
2016-05-19T06:49:42.729712Z 0 [Note] InnoDB: PUNCH HOLE support available
2016-05-19T06:49:42.729734Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-05-19T06:49:42.729740Z 0 [Note] InnoDB: Uses event mutexes
2016-05-19T06:49:42.729746Z 0 [Note] InnoDB: GCC builtin __sync_synchronize() is used for memory barrier
2016-05-19T06:49:42.729752Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-05-19T06:49:42.729759Z 0 [Note] InnoDB: Using Linux native AIO
2016-05-19T06:49:42.729980Z 0 [Note] InnoDB: Number of pools: 1
2016-05-19T06:49:42.730080Z 0 [Note] InnoDB: Using CPU crc32 instructions
2016-05-19T06:49:42.736659Z 0 [Note] InnoDB: Initializing buffer pool, total siz e = 128M, instances = 1, chunk size = 128M
2016-05-19T06:49:42.744976Z 0 [Note] InnoDB: Completed initialization of buffer pool
2016-05-19T06:49:42.746579Z 0 [Note] InnoDB: If the mysqld execution user is aut horized, page cleaner thread priority can be changed. See the man page of setpri ority().
2016-05-19T06:49:42.758283Z 0 [Note] InnoDB: Highest supported file format is Ba rracuda.
2016-05-19T06:49:42.773498Z 0 [Note] InnoDB: Creating shared tablespace for temp orary tables
2016-05-19T06:49:42.773597Z 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2016-05-19T06:49:42.868794Z 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2016-05-19T06:49:42.869616Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2016-05-19T06:49:42.869630Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2016-05-19T06:49:42.870091Z 0 [Note] InnoDB: Waiting for purge to start
2016-05-19T06:49:42.920263Z 0 [Note] InnoDB: 5.7.12 started; log sequence number 47501023
2016-05-19T06:49:42.920461Z 0 [Note] Plugin 'FEDERATED' is disabled.
2016-05-19T06:49:42.920730Z 0 [Warning] System table 'plugin' is expected to be transactional.
2016-05-19T06:49:42.921136Z 0 [Warning] Gtid table is not ready to be used. Tabl e 'mysql.gtid_executed' cannot be opened.
2016-05-19T06:49:42.921212Z 0 [Warning] Failed to set up SSL because of the foll owing SSL library error: SSL context is not usable without certificate and priva te key
2016-05-19T06:49:42.921371Z 0 [Note] Server hostname (bind-address): '*'; port: 3306
2016-05-19T06:49:42.921426Z 0 [Note] IPv6 is available.
2016-05-19T06:49:42.921438Z 0 [Note] - '::' resolves to '::';
2016-05-19T06:49:42.921446Z 0 [Note] Server socket created on IP: '::'.
2016-05-19T06:49:42.921635Z 0 [Note] InnoDB: Loading buffer pool(s) from /var/li b/mysql/ib_buffer_pool
2016-05-19T06:49:42.921792Z 0 [Note] InnoDB: Buffer pool(s) load completed at 16 0519 12:19:42
2016-05-19T06:49:42.923348Z 0 [Warning] Failed to open optimizer cost constant t ables
2016-05-19T06:49:42.923623Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.
2016-05-19T06:49:42.923679Z 0 [ERROR] Aborting
2016-05-19T06:49:42.923691Z 0 [Note] Binlog end
2016-05-19T06:49:42.923731Z 0 [Note] Shutting down plugin 'ngram'
2016-05-19T06:49:42.923741Z 0 [Note] Shutting down plugin 'BLACKHOLE'
2016-05-19T06:49:42.923746Z 0 [Note] Shutting down plugin 'ARCHIVE'
2016-05-19T06:49:42.923750Z 0 [Note] Shutting down plugin 'partition'
2016-05-19T06:49:42.923754Z 0 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2016-05-19T06:49:42.923815Z 0 [Note] Shutting down plugin 'INNODB_SYS_VIRTUAL'
2016-05-19T06:49:42.923822Z 0 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2016-05-19T06:49:42.923826Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACE S'
2016-05-19T06:49:42.923829Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_CO LS'
2016-05-19T06:49:42.923833Z 0 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2016-05-19T06:49:42.923841Z 0 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2016-05-19T06:49:42.923844Z 0 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2016-05-19T06:49:42.923848Z 0 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2016-05-19T06:49:42.923851Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS '
2016-05-19T06:49:42.923855Z 0 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2016-05-19T06:49:42.923858Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE '
2016-05-19T06:49:42.923862Z 0 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE '
2016-05-19T06:49:42.923865Z 0 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2016-05-19T06:49:42.923870Z 0 [Note] Shutting down plugin 'INNODB_FT_BEING_DELET ED'
2016-05-19T06:49:42.923873Z 0 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2016-05-19T06:49:42.923877Z 0 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STO PWORD'
2016-05-19T06:49:42.923880Z 0 [Note] Shutting down plugin 'INNODB_METRICS'
2016-05-19T06:49:42.923883Z 0 [Note] Shutting down plugin 'INNODB_TEMP_TABLE_INF O'
2016-05-19T06:49:42.923887Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_ST ATS'
2016-05-19T06:49:42.923890Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LR U'
2016-05-19T06:49:42.923893Z 0 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2016-05-19T06:49:42.923897Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_ RESET'
2016-05-19T06:49:42.923900Z 0 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2016-05-19T06:49:42.923903Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2016-05-19T06:49:42.923907Z 0 [Note] Shutting down plugin 'INNODB_CMPMEM'
2016-05-19T06:49:42.923910Z 0 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2016-05-19T06:49:42.923913Z 0 [Note] Shutting down plugin 'INNODB_CMP'
2016-05-19T06:49:42.923917Z 0 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2016-05-19T06:49:42.923920Z 0 [Note] Shutting down plugin 'INNODB_LOCKS'
2016-05-19T06:49:42.923923Z 0 [Note] Shutting down plugin 'INNODB_TRX'
2016-05-19T06:49:42.923927Z 0 [Note] Shutting down plugin 'InnoDB'
2016-05-19T06:49:42.923971Z 0 [Note] InnoDB: FTS optimize thread exiting.
2016-05-19T06:49:42.924055Z 0 [Note] InnoDB: Starting shutdown...
2016-05-19T06:49:43.024521Z 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/ mysql/ib_buffer_pool
2016-05-19T06:49:43.024711Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 16 0519 12:19:43
2016-05-19T06:49:44.541254Z 0 [Note] InnoDB: Shutdown completed; log sequence nu mber 47501042
2016-05-19T06:49:44.542642Z 0 [Note] InnoDB: Removed temporary tablespace data f ile: "ibtmp1"
2016-05-19T06:49:44.542655Z 0 [Note] Shutting down plugin 'CSV'
2016-05-19T06:49:44.542666Z 0 [Note] Shutting down plugin 'MRG_MYISAM'
2016-05-19T06:49:44.542671Z 0 [Note] Shutting down plugin 'MyISAM'
2016-05-19T06:49:44.542687Z 0 [Note] Shutting down plugin 'MEMORY'
2016-05-19T06:49:44.542697Z 0 [Note] Shutting down plugin 'sha256_password'
2016-05-19T06:49:44.542702Z 0 [Note] Shutting down plugin 'mysql_native_password '
2016-05-19T06:49:44.542816Z 0 [Note] Shutting down plugin 'binlog'
2016-05-19T06:49:44.542996Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
2016-05-19T06:49:44.549488Z mysqld_safe mysqld from pid file /var/run/mysqld/mys qld.pid ended
df -hT
给出:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_livecd-lv_root ext4 6.7G 5.4G 1.2G 83% /
tmpfs tmpfs 435M 68K 435M 1% /dev/shm
/dev/sda1 ext4 485M 40M 420M 9% /boot
答案1
MySQL的日志很清楚地告诉你问题所在。
我在我的 CentOS 中安装了 MySQL 5.7 [...]
2016-05-19T06:49:42.923623Z 0 [错误] 致命错误:mysql.user 表已损坏。请运行 mysql_upgrade。 2016-05-19T06:49:42.923679Z 0 [错误] 正在中止
你没有安装MySQL。你升级了现有的MySQL 安装,无需将数据库模式升级到 5.7 预期的版本。
而像这些人一样……
…您发现 MySQL 不喜欢您的数据库,并且将拒绝启动它们,直到您将它们升级到新模式为止。
维塔利尤斯·雷扎科瓦斯 说只需使用安装实用程序重新安装整个数据库,就会丢失所有以前的数据。
雷德尔·哈拉尔德 说成为小心 CentOS 存储库。 Xe 回应了 Oracle 自己的建议一次仅升级一个版本级别。
哈拉尔德先生所说的那个人的储存库,雷米科莱说要再次降级到旧版本的 MySQL,请将整个数据库集转储到文件,再次升级,然后从转储中恢复。
Oracle 在 doco 中描述了升级和转储恢复方法,前者是就地升级后者是逻辑升级。
进一步阅读
- 升级 MySQL。 MySQL 参考手册。 5.7.甲骨文公司。
mysql_upgrade
。 MySQL 参考手册。 5.7.甲骨文公司。mysqldump
。 MySQL 参考手册。 5.7.甲骨文公司。
答案2
设备上没有剩余空间
也可能意味着该分区没有索引节点。用于df -i
检查 inode 使用情况。
索引节点用完的情况并不常见,因此您可能在不知道的地方有一些充满小文件或零长度文件的目录。不幸的是,我不知道找到这种东西的简单方法。运行find / -xdev
将打印分区上每个文件和目录的名称。您可能会发现一些充满空文件的可疑目录。
当我使用了超过数百万个索引节点时,我尝试过一次。
寻找 。 -类型 f -名称 sess_* -删除
更新
尝试以下步骤:
mysqld_safe –skip-grant-tables –user=root &
mysql_fix_privilege_tables
pkill mysqld
/etc/init.d/mysqld restart
答案3
chown mysql:mysql /var/lib/mysql
chmod 700 /var/lib/mysql
chkconfig --level 345 mysql on
service mysqld start