我在Windows 7上安装了MySQL。当我尝试启动MySQL服务时,我收到错误1067:进程意外终止。记录消息:
101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled.
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
InnoDB: Log scan progressed past the checkpoint lsn 0 37356
101111 22:27:11 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 0 44233
101111 22:27:11 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
101111 22:27:12 InnoDB: Started; log sequence number 0 44233
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
我该怎么办?
答案 0 :(得分:25)
解决方案是在安装路径中安装没有空格的MySQL。 Windows 7,64位
答案 1 :(得分:17)
阻止mysqld windows服务运行的另一件事是,如果你已经运行mysqld.exe(但不是作为服务)并占用端口3306.当服务尝试启动并看到端口3306已被占用时,它失败了。
只需打开Windows任务管理器,在“进程”选项卡下查找“mysqld.exe”。如果您看到它,请将其删除,然后再次尝试启动该服务。
c:\> net start [servicename]
示例:c:\> net start MySQL
答案 2 :(得分:11)
我的问题的解决方案是查看我的安装目录,找到/ data文件夹,并将其内容复制到我的.ini / .cnf配置文件中指定的数据文件夹。
答案 3 :(得分:7)
我的问题发生在电源故障后。我收到错误1067该进程意外终止。 MySQL不用说没有启动。答案很简单
答案 4 :(得分:3)
我刚刚遇到类似的问题,我发现这是一个权限问题。当我复制数据库“data”时,我必须添加“NETWORK SERVICE”的权限
答案 5 :(得分:2)
我遇到了同样的问题。在我的情况下,它是“用户错误”(虽然Windows安装程序应该更聪明,并阻止我提交这样的错误。)
在安装过程中,如果更改了默认安装路径,请确保在“自定义安装”屏幕上为“服务器数据文件”使用相同的路径,然后在“MySQL”中的“InnoDB表空间设置”中使用相同的路径。服务器实例配置向导“
答案 6 :(得分:2)
我在更新my.ini for Windows 7中的datadir时遇到了问题。
我希望数据存储在不同的驱动器上,我通过复制整个文件夹从另一台PC上移动这些数据。我将datadir更改为所需的驱动器并保存my.ini文件没有问题。
但是mysql无法启动。我再次打开my.ini文件,它似乎已被更改。 然后,我注意到my.ini上的日期没有改变。所以我必须更改安全权限才能给我写入权限。
这次保存时,日期发生了变化,mysql开始访问所有正确的数据。
答案 7 :(得分:1)
我将mysql数据文件夹替换为windows目录连接。 我怀疑ib_logfile0 / 1和/或ibdata1已损坏。
尝试删除这些文件和computername.err。然后重启mysql服务。 这就是我做的,成功的。
在完全重新安装mysql之后将ibdata1文件复制到交叉点目录并通过交换点替换dir,重新启动mysql是不够的。
你必须让mysql重建这些文件。
答案 8 :(得分:1)
在搞乱太多事情之前,请检查服务尝试运行的用户。在我的情况下,它是NETWORK,这个人没有对需要它的某些位置的写权限。将用户更改为本地系统帐户就可以了。
如果事件查看器显示任何错误,例如"无法创建测试文件C:\ Program Files \ MySQL \ MySQL Server 5.6 \ data \ XXX.lower-test& #34; ,此解决方案很有可能发挥作用。
祝你好运!
答案 9 :(得分:0)
遇到同样的错误,下面是我为mysql-5.7.14-winx64工作的原因和解决方案
原因:DATA文件夹有一些缺少的默认文件夹和文件
解决方案:从DATA文件夹中删除所有内容,我认为它是一个全新安装,所以备份你需要的任何东西。然后从命令提示符运行它,它将创建所需的文件和文件夹 " mysqld --initialize --console" 现在运行" mysqld"它应该运作良好。
答案 10 :(得分:0)
我刚刚发现,在设置中我选择了 InnoDB,而实际上我所有现有的数据库都是 MyIsam 格式。我卸载然后重新安装,选择 MyIsam,一切正常。
答案 11 :(得分:0)
我在本地两台计算机上运行MariaDB(与MySQL兼容)。我不确定是什么引起了错误,但我没有尝试过。因此,我停止了该服务,删除了MariaDB目录(数据目录除外)中的所有内容,并从辅助计算机中复制了文件,据我所知,一切都运行良好。
对于实时服务器,情况会有所不同,超级专家可能会添加见解注释(例如,数据目录之外的内容可能与阻止数据有关损坏还是索引?)。我只需要停止该服务,然后每个月左右复制一次整个目录,然后再次启动该服务即可。
答案 12 :(得分:0)
在我的情况下,为了从mysql服务器中删除繁重的架构,只需转到C:\ ProgramData \ MySQL \ MySQL Server 5.7 \ Data并删除相关文件夹。但它没有被删除,因为mysqld.exe正在阻止它。所以我停止了mysqld.exe,删除了该文件夹,然后所有的模式从mysql workbench的列表中消失了。无论我多么努力重启mysql服务,它都没有,除非我从垃圾中恢复该文件夹。 希望它可以帮助那些尝试过同样捷径的人。
答案 13 :(得分:0)
......一个旧的...反正我和MariaDB有同样的问题
在我的情况下,大多数pathes包含特殊字符,如:# 用双引号包装my.ini中的pathes就可以了 - 例如。
datadir="C:/#windata64/db/MariaDB/data"
答案 14 :(得分:0)
在我的实例中,它与文件名中的空格无关。我使用MSI安装程序自定义配置,并选择排除默认数据库,假设它只是像Northwind / Adventureworks。不,它包括核心的MySql系统数据库......一旦我将它添加到它运行的安装中。
答案 15 :(得分:0)
同时检查您在my.ini
中写的所有目录是否存在。
我的问题是tmpdir
不存在,所以MySQL守护程序会出现错误1067。
[mysqld]
port= 3306
tmpdir = "C:/tmp"
在这种情况下,C:/tmp
必须存在。
答案 16 :(得分:0)
在我的情况下,我安装并运行了另一个MySQL版本。 我通过进入mysql_error.log文件找到了这个。 我通过转到服务并停止运行MySQL版本并设置手册来解决这个问题,并启动所需的mysql。
答案 17 :(得分:0)
问题看起来目录中没有数据。 从您以前的目录或从C:\ Program Files \ MySQL \ MySQL Server 5.5 \ data复制至少mysql目录。 然后再试一次。
答案 18 :(得分:0)
当查看mysql日志(数据文件夹下的.err文件)时,我可以看到以下内容
21:41:47 UTC - mysqld得到异常0xc0000005; 这可能是因为你遇到了一个bug。这个二进制文件也有可能 或者它所链接的其中一个图书馆是腐败的,不正确的, 或配置错误。此错误也可能由硬件故障引起。 试图收集一些有助于诊断问题的信息。 因为这是一次崩溃而且肯定是错误的,这些信息 收集过程可能会失败。
我意识到我在插入USB时正在启动服务。说实话,我重新启动机器后重新启动服务后问题得以解决。此外,我在重启之前删除了ib_logfile0和ib_logfile1文件。虽然事件记录器指示“InnoDB:您的数据库可能已损坏,或者您可能已复制InnoDB表空间而非InnoDB日志文件。请参阅http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html获取信息
块引用
关于强制恢复。有关详细信息,请参阅http://www.mysql.com上的“帮助和支持中心”,我不这么认为,因为我从未更改任何配置。
答案 19 :(得分:0)
我也可以使用Table ' mysql.plugin'不存在 如果通过' msiexec.exe安装MYSQL Server 5.1' DataDir我把它作为C:\ MYSQL \ MySQL_Server_5_1 \ data \
但令我惊讶的是在C:\ MYSQL \ MySQL_Server_5_1 \ data \ data
中创建数据添加了数据字样。所以我从
更改了my.ini文件datadir="C:/MySQL/MySQL_Server_5_1/Data/" .
到
datadir="C:/MySQL/MySQL_Server_5_1/Data/data"
然后我可以使用 净启动MYSQL51 然后 mysqld.exe运行并出现在任务管理器
中答案 20 :(得分:0)
就我而言,我在MySQL安装程序中为我的日志文件选择了一个自定义路径。我已将日志文件放在我的用户文件夹C:\Users\%MY_USERACCOUNT%\Documents\mysql-logs
中,默认情况下, NETWORK SERVICE (或Windows中的任何其他非管理员useraccount)无法访问用户&# 39; s文件夹。
我通过更改日志文件夹的安全选项来修复此问题,为 NETWORK SERVICE 提供修改权限读/写/修改权限。
答案 21 :(得分:0)
我遇到了同样的错误。类似的方法对我而言。据我所知,my.ini文件中对datadir的引用有些奇怪。即使我手动编辑它,我似乎也没有任何影响,直到我把一切都吹走了。希望我有更好的消息......首先进行数据库备份。
对我来说,让它发挥作用的关键是:
1)从settings->控制面板中删除以前的安装。重启你的机器。
2)一旦机器恢复,强行删除以前的安装目录。
[我的是C:\ apps \ MySQL \ MySQLServer-5.5 \,因为我拒绝使用c:\ program files ..
3)强行删除以前的datadir目录[我的是c:\ data \ mysql]。
4)强制删除以前的默认数据目录[C:\ Documents and Settings \ All
用户\应用程序数据\ MySQL]。
5)重新运行安装,选择相同的安装目录。跳过实例
安装结束时的配置器/向导。
6)确保将../bin目录添加到路径中。验证它。
7)手动运行实例配置器/向导
设置root密码,port [3306]。
它会尝试启动它。再次,我的失败开始了
[呃!什么都没有新!!! ]
8)现在,手动编辑安装目录中的my.ini文件,并更正datadir
设置为[datadir =“C:/ Data / MySQL /”] MATCH CAPITALIZATION !!!!
9)通过命令提示符[sc qc mysql]验证服务是否设置正确
应该是这样的:
C:\ dev \ cmdz> sc qc mysql [SC] GetServiceConfig SUCCESS
SERVICE_NAME:mysql TYPE:10 WIN32_OWN_PROCESS START_TYPE:2 AUTO_START ERROR_CONTROL:1 NORMAL BINARY_PATH_NAME:“C:\ apps \ MySQL \ MySQLServer-5.5 \ bin \ mysqld”--defaults-file =“C:\ apps \ MySQL \ MySQLServer-5.5 \ my.ini”MySQL LOAD_ORDER_GROUP: 标签:0 DISPLAY_NAME:MySQL 依赖: SERVICE_START_NAME:LocalSystem
10)复制在下创建的默认数据目录的内容
C:\ Documents and Settings \ All Users \ Application Data \ MySQL [基本上全部都在
这个目录到你想要的
数据目录c:\ data \ mysql]。确保获得C:\ Documents and Settings \ All
Users \ Application Data \ MySQL \ mysql目录。这有host.frm文件和其他。
您最终应该得到一个目录为c:\ data \ MySQL \ mysql ...
11)重命名默认目录 C:\ Documents and Settings \ All Users \ Application Data \ MySQL 至 C:\ Documents and Settings \ All Users \ Application Data \ MySQLxxx 所以找不到它......
12)快速祈祷......
13)使用[net start mysql]
从命令行开始这让它对我有用......
最好的运气!
答案 22 :(得分:0)
检查文件“C:\ Program Files \ MySQL \ MySQL Server 5.1 \ my.ini”
my.ini中的datadir行应指定路径。检查该datadir路径的内容。它是否包含名为“mysql”的文件夹和另一个名为“test”的文件夹?
如果没有,这里有两个选择:
将my.ini中的datadir行更改为正确的位置。这可能是C:\ ProgramData \ MySQL \ MySQL Server 5.1 \ data
清除datadir路径的现有内容。将C:\ ProgramData \ MySQL \ MySQL Server 5.1 \ data的内容复制到您的datadir路径。重新启动mysql服务应该重建空数据库。
答案 23 :(得分:0)
在我的情况下 innodb_data_home_dir 不再正确,因为当我向系统添加新驱动器时,我已经洗了一些驱动器字母
答案 24 :(得分:0)
在我的情况下,我已经在我的安装中的第二个磁盘中解压缩XAMPP,“F”。当我尝试作为服务启动时,返回是“1067”。解决方案是编辑my.ini,在文件行中插入“f:”驱动器。它解决了这个问题。
答案 25 :(得分:0)
我遇到了同样的错误,是由日志文件路径中的非标准字符引起的。
为了解决这个问题,我找到了my.ini配置文件(在我的情况下为C:\ProgramData\MySQL\MySQL Server 5.6\my.ini
)并修改了密钥slow_query_log_file
和log-error
。
之后我成功地启动了MySQL服务。
答案 26 :(得分:-1)
如果您尝试在带有GPT分区的Windows 10安装上运行MySql,请尝试以下操作:
今天的系统通常在使用GPT格式化的磁盘上运行。这是因为Windows 10需要安装这样的分区。问题是MySql无法处理这种分区样式,所以它崩溃了。这是我的解决方法:
这应该是它! :)