报错信息:
[root@localhost scripts]# /etc/init.d/mysqld start Starting MySQL.. ERROR! The server quit without updating PID file (/application/mysql/localhost.localdomain.pid). [root@localhost scripts]# [root@localhost scripts]# cat 150506 23:12:36 mysqld_safe Starting mysqld daemon with databases from /application/mysql /application/mysql/bin/mysqld: Table 'mysql.plugin' doesn't exist 150506 23:12:36 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 150506 23:12:36 InnoDB: The InnoDB memory heap is disabled 150506 23:12:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins 150506 23:12:36 InnoDB: Compressed tables use zlib 1.2.3 150506 23:12:36 InnoDB: Initializing buffer pool, size = 128.0M 150506 23:12:36 InnoDB: Completed initialization of buffer pool 150506 23:12:36 InnoDB: highest supported file format is Barracuda. InnoDB: Log scan progressed past the checkpoint lsn 48941 150506 23:12:36 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... InnoDB: Doing recovery: scanned up to log sequence number 1595675 150506 23:12:36 InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percents: 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 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 150506 23:12:36 InnoDB: Waiting for the background threads to start 150506 23:12:37 InnoDB: 5.5.32 started; log sequence number 1595675 150506 23:12:37 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 150506 23:12:37 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 150506 23:12:37 [Note] Server socket created on IP: '0.0.0.0'. 150506 23:12:37 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 150506 23:12:37 mysqld_safe mysqld from pid file /application/mysql/localhost.localdomain.pid ended [root@localhost scripts]#
解决方法:
1.查看是否有其他mysql数据库已经安装并使用了3306端口
[root@localhost scripts]# ps aux|grep mysql*
[root@localhost scripts]# rpm -qa|egrep mysql
2.查看 /etc/my.cnf
[root@localhost application]# cat /etc/my.cnf
3.更改配置文件,添加下面的内容:
[root@localhost application]# vi /etc/my.cnf
[mysqld]
datadir=/application/mysql/data
4.然后重新启动数据库:
/etc/init.d/mysqld start
5.如果还不行,查看日志文件确定问题。
转载于:https://blog.51cto.com/mysqldb/1655539