5

好的,这是我的故事,我去了 mysql.com 网站并将文件下载mysql-5.6.11-winx64.zip到 C:,然后我解压缩了它。然后我转到 bin 文件夹并使用以下命令启动服务器:

C:\mysql-5.6.11-winx64\bin\mysqld --standalone --local-infile=1

一切正常,Mysql 服务器顺利启动。然后我使用以下命令停止服务器:

C:\mysql-5.6.11-winx64\bin\mysqladmin -u root shutdown

服务器已正确关闭。

我用这种方式启动和停止mysql服务器几次,没有任何问题。

bin\mysqladmin -u root shutdown但是,昨天,我启动了 Mysql 服务器,但是在一天结束时,我关闭了我的 PC,而我的 MySQL 服务器仍处于启动模式(即,在关闭我的 PC 之前,我没有使用“”关闭 mysql )。

另外,当时我的电脑关机的时候,Win 7开始从网上下载一些包来更新Win7,这样就可以改变win7的配置了。

但是今天我无法使用上述命令启动 Mysql Server,因为出现错误:

[警告] 带有隐式 DEFAULT 值的 TIMESTAMP 已弃用。
请使用 --explicit_defaults_for_timestamp 服务器选项(有关详细信息,请参阅文档)。

我在互联网上搜索,有人说我必须转到 my.cnf 文件并将这一行添加到:

explicit_defaults_for_timestamp = TRUE

但是,mysql 5.6 中没有 my.cnf 文件,mysql5.6 中有很多 cnf 文件但名称不同:

mysql-5.6.11-winx64\data\auto.cnf
mysql-5.6.11-winx64\mysql-test\include\default_client.cnf
mysql-5.6.11-winx64\mysql-test\include\default_my.cnf
mysql-5.6.11-winx64\mysql-test\include\default_mysqld.cnf
mysql-5.6.11-winx64\mysql-test\include\default_mysqld_autosize.cnf
mysql-5.6.11-winx64\mysql-test\include\default_mysqld_ndbd.cnf

我试图添加explicit_defaults_for_timestamp = TRUE到所有上述 cnf 文件但没有帮助,我仍然无法启动 mysql

我不想重新安装因为我在当前的 mysql 服务器中创建了一个大数据库。

那么如何解决呢?

注意:当我第一次运行 Mysql 服务器时,win7 会弹出一条消息说一些东西(我不记得),比如“你允许...防火墙”,所以你认为这是导致问题的原因,因为 Win7 得到了它的配置更新并以某种方式重置了防火墙,因此 Mysql 服务器无法启动?

4

2 回答 2

3

@ Galadai,我修好了,我解压“ mysql-5.6.11-winx64.zip”&然后将旧“ mysql-5.6.11-winx64”中的数据文件夹复制到新“ mysql-5.6.11-winx64”中但不复制“ib_logfile0”和“ib_logfile1”文件,然后启动新的“mysql-5.6.11-winx64” ",那么它工作正常。无论如何,谢谢你的帮助。

于 2013-05-30T12:42:42.713 回答
1

在 Windows 上,配置文件是my.ini, not my.cnf,在我的情况下是

C:\ProgramData\MySQL\MySQL Server 5.6

对 .ini 文件进行更改后,请使用以下命令启动它:

mysqld --defaults-file="C:\{path to .ini file}\my.ini"     
于 2013-05-30T10:50:27.213 回答