MySQL在x64系统上1067问题解决

最近一个项目需要用到MYSQL,因为以前也弄过,所以就没怎么多想,直接下一个完事了。于是乎果断上官方网站下了一个installer(5.26),修改了一下默认位置和配置,然后一路next,最后在配置完成启动的时候,mysql installer一直停在attempting to start service。

想着是不是系统崩溃了(aliyun服务器,1G内存,server 2008R2,不是很流畅),重启。

然后cmd》net start mysql56

 

弹出错误1067

 

于是噩梦开始了……

首先觉得是不是没有安装成功,重新来一次吧。于是卸载,再次安装,问题依旧。每次安装完成也不弹出配置的选项,我琢磨是不是有问题,翻了一下安装log。

System Error :"Error 1918.Error installing ODBC driver Mysql ODBC 5.2 ANSI Driver

原来是这个问题…

查阅资料(http://www.cnblogs.com/rangeon/p/3410459.html),重新复制一个新名称就可以了。mysql installer安装的就是x86版本的。

 

终于odbc算是过了。

然后我想着没啥问题了,于是重新安装,依旧不能弹出配置界面,重试多次无果,services.msc中也找不到mysql56服务。

自己动手手动来把。

定位到mysql安装目录的bin文件夹

执行mysqld --install MySQL56 --defaults-file="{安装目录}\mydefault.ini"

service安装成功。

 

net start mysql56,接着1067。

查看mydefault.ini

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# server_id = .....
# basedir=
# datadir=
# port =

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

basedir、datadir、port都没写,填上相应路径。

依旧不行。从网上找了一份my.ini配置成功,贴在下面给大家参考。

[client]
no-beep
port=3307

[mysql]
default-character-set=utf8

[mysqld]
port=3307
basedir="C:\Program Files\MySQL\MySQL Server 5.6\"
datadir="C:\Program Files\MySQL\MySQL Server 5.6\data\"
character-set-server=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error="NAS.err"
max_connections=100
query_cache_size=0
query_cache_type=0
table_open_cache=2000
innodb_buffer_pool_size=10M
innodb_log_file_size=48M
innodb_concurrency_tickets=5000
innodb_stats_on_metadata=0
innodb_file_per_table=1
flush_time=0

注意:默认mysql端口3306,因为我的系统该端口已经被占用,因此改成3307。log-error="nas.err"是日志文件,会在data下生成,如果有错误查看这个就知道了,在配置文件不正确的时候经常出现

InnoDB: Assertion failure in thread xxxx in file ut0mem.cc line 105

InnoDB: Failing assertion: ret || !assert_on_error

还有就是请自己配置innodb_buffer_pool_size,原文配置的是256M,因为内存小,直接弹出系统错误1455,页面文件不足,实际使用的时候请按照实际情况配置。

你可能感兴趣的:(mysql)