mysql - Windows 10 上的 MySql 安装问题

标签 mysql innodb

更新:已解决!这是我的解决方案:

当今的系统通常在 GPT 格式的磁盘上运行。这是因为Windows 10需要安装这样的分区。问题是 MySql 无法处理这种分区样式,因此它崩溃了。这是我的解决方法:

<小时/>
  • 创建虚拟磁盘:manual here

  • 使用 MBR 格式化此 VHD

  • 在新的 VHD 上安装 MySql 自定义(不要忘记创建用户 对于数据库)

应该是这个! :)

<小时/>

我尝试在运行 Windows 10 的 Dell XPS 13 9360 上安装 MySql。当需要将服务器作为服务启动时,该服务无法启动。到目前为止,这个问题已广为人知,并且有很多尝试来解决这个问题。不幸的是这些都不适合我。这是我尝试过的:

  • 将 innodb_flush_method=normal 插入 my.ini
  • 更改服务以在本地帐户注册
  • 检查防火墙的端口规则

所以我的问题:有人遇到同样的问题并且知道如何让它运行吗?你真的会帮我很多:) 这是我的错误日志:

2017-01-23T14:11:44.458654Z 0 [Warning] option 'new': boolean value 't' wasn't recognized. Set to OFF.
2017-01-23T14:11:44.458654Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-01-23T14:11:44.458654Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T14:11:44.459156Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 5340 ...
2017-01-23T14:11:44.468178Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T14:11:44.469212Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T14:11:44.469713Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T14:11:44.470716Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T14:11:44.471217Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T14:11:44.471719Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T14:11:44.474727Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T14:11:44.481212Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T14:11:44.546889Z 0 [ERROR] InnoDB: Header page consists of zero bytes in datafile: .\ibdata1, Space ID:0, Flags: 0. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
2017-01-23T14:11:44.548924Z 0 [ERROR] InnoDB: Corrupted page [page id: space=0, page number=0] of datafile '.\ibdata1' could not be found in the doublewrite buffer.
2017-01-23T14:11:44.550425Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2017-01-23T14:11:44.771283Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-01-23T14:11:44.772134Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-01-23T14:11:44.772635Z 0 [ERROR] Failed to initialize plugins.
2017-01-23T14:11:44.773135Z 0 [ERROR] Aborting
2017-01-23T14:11:44.773636Z 0 [Note] Binlog end
2017-01-23T14:11:44.774138Z 0 [Note] Shutting down plugin 'CSV'
2017-01-23T14:11:44.774640Z 0 [Note] mysqld: Shutdown complete

提前谢谢您!

<小时/>

@比尔·卡尔文:

好的,删除表空间后结果是这样的:

2017-01-23T15:39:39.874463Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T15:39:39.874965Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 624 ...
2017-01-23T15:39:39.880480Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T15:39:39.880980Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T15:39:39.881484Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T15:39:39.882022Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T15:39:39.882986Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T15:39:39.882986Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T15:39:39.885491Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T15:39:39.891024Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T15:39:39.914631Z 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created!
2017-01-23T15:39:39.915071Z 0 [ERROR] InnoDB: redo log file '.\ib_logfile1' exists. Creating system tablespace with existing redo log files is not recommended. Please delete all redo log files before creating new system tablespace.
2017-01-23T15:39:39.916074Z 0 [ERROR] InnoDB: InnoDB Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
2017-01-23T15:39:40.132668Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2017-01-23T15:39:40.132668Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2017-01-23T15:39:40.134090Z 0 [ERROR] Failed to initialize plugins.
2017-01-23T15:39:40.134590Z 0 [ERROR] Aborting

2017-01-23T15:39:40.135594Z 0 [Note] Binlog end
2017-01-23T15:39:40.136094Z 0 [Note] Shutting down plugin 'CSV'
2017-01-23T15:39:40.136595Z 0 [Note] mysqld: Shutdown complete
<小时/>

删除logdata1和0后出现新错误:

2017-01-23T15:55:22.158765Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2017-01-23T15:55:22.159266Z 0 [Note] mysqld (mysqld 5.7.17) starting as process 2880 ...
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: Uses event mutexes
2017-01-23T15:55:22.165783Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
2017-01-23T15:55:22.166284Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2017-01-23T15:55:22.166284Z 0 [Note] InnoDB: Number of pools: 1
2017-01-23T15:55:22.166786Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2017-01-23T15:55:22.169292Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2017-01-23T15:55:22.178820Z 0 [Note] InnoDB: Completed initialization of buffer pool
2017-01-23T15:55:22.202407Z 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created!
2017-01-23T15:55:22.203383Z 0 [Note] InnoDB: Setting file '.\ibdata1' size to 12 MB. Physically writing the file full; Please wait ...
2017-01-23T15:55:22.249691Z 0 [Note] InnoDB: File '.\ibdata1' size is now 12 MB.
2017-01-23T15:55:22.263685Z 0 [Note] InnoDB: Setting log file .\ib_logfile101 size to 48 MB
2017-01-23T15:55:22.342287Z 0 [Note] InnoDB: Setting log file .\ib_logfile1 size to 48 MB
2017-01-23T15:55:22.452340Z 0 [ERROR] InnoDB: Operating system error number 87 in a file operation.
2017-01-23T15:55:22.452842Z 0 [Note] InnoDB: Some operating system error numbers are described at http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
2017-01-23T15:55:22.453346Z 0 [ERROR] InnoDB: File .\ib_logfile101: 'aio write' returned OS error 187. Cannot continue operation
2017-01-23T15:55:22.453346Z 0 [ERROR] InnoDB: Cannot continue operation.

最佳答案

找到解决方案:

当今的系统通常在 GPT 格式的磁盘上运行。这是因为Windows 10需要安装这样的分区。问题是 MySql 无法处理这种分区样式,因此它崩溃了。这是我的解决方法:

  • 创建虚拟磁盘:manual here
  • 使用 MBR 格式化此 VHD
  • 在新的 VHD 上安装自定义 MySql(不要忘记为数据库创建用户)

应该是这个! :)

关于mysql - Windows 10 上的 MySql 安装问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41809529/

相关文章:

java - JPA 中的地理空间支持

mysql - 使用MYSQL将两行合并为一行

Mysql更新值

mysql - 将 SQL 字符串字段转换为 unix 时间戳

mysql - 单个更新查询所需的事务?

mysql - 优化从非常大的 MySQL 表中删除

mysql - 如何仅针对共享相似前缀的表将存储引擎从 MyISAM 更改为 innoDB?

mysql - 明显无法正常工作

mysql - 如何使用 PHP 执行 MySQL 行锁定和删除行?

mysql - 使用 BETWEEN 子句的 MySQL SELECT 语句的 Big-O 复杂度是多少?