windows7启动MySql报错Table 'mysql.plugin' doesn't exist的解决方法

时间:2022-03-17 23:05:59

windows7 64位,安装mysql5.5.27_win64,自定义安装到D:/database/mysql,在初始化最后一步,写配置文件时总是“未响应”。结束进程,手工创建my.ini文件


[client]
port=3335


[mysql]
default-character-set=utf8

[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3335
basedir="D:/database/mysql/"
datadir="D:/database/data/"
character-set-server=utf8
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

max_connections=100
query_cache_size=8M
table_cache=256
tmp_table_size=9M
thread_cache_size=8

myisam_max_sort_file_size=100G
myisam_sort_buffer_size=16M
key_buffer_size=9M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K

#*** INNODB Specific options ***
innodb_data_home_dir="D:/database/InnoDB/"
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=15M
innodb_log_file_size=10M
innodb_thread_concurrency=10

写好配置文件后,我在cmd下尝试mysqld直接启动,但总是失败,并在D:/database/data/中可以看到按时间做为文件名的错误日志,其中有两条

Table 'mysql.plugin' doesn't exist

...............................................

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

在网上搜索了很多解决方法,逐一尝试都没能解决我的问题,后来在看到另外一篇文章:

http://www.ccw.com.cn/college/soft/b2b/db/htm2009/20091215_837948.shtml

这篇文章并没有直接解决这个问题,但给我带来了启发,我尝试着按这种方法初始化表,但提示我没有mysql表!!!

这篇文章中,明确的讲“....在每个文件的最开始插入“use mysql;”......"  我按照这个方法做了,但却提示没有mysql表!

我再次回到mysql的安装目录下仔细的看了一下,在安装目录下有一个data目录(D:/database/mysql/data),里面就有一个mysql文件夹,这个就是默认的数据库数据存储位置。既然我修改了数据存放位置,我直接将这个data文件下的所有文件拷贝到D:/database/data/下面是否可行?

于是我将mysql安装目录默认数据存放路径D:/database/mysql/data 文件夹下所有文件全部放入D:/database/data/,再次启动mysqld,成功了!

对mysql数据库实在是不了解呀,之前安装都非常顺利,第一次遇到这种问题,mark一下。