分享

start service失败的问题解决

 静幻堂 2020-01-01

      前段时间买了台新电脑,许多软件没有安装上去。晚上看了些学习视频,发现自己的数据库都没有安装,于是就想安装mysql数据库。以前学习的主要是oracle,mysql的安装还是第一次安装!第一次安装还是出现了点问题。

     首先,按照网上的安装自己走了一遍,果然出现了比较常见的问题。start service安装不成功!其具体的安装过程参考:http://www.jb51.net/article/23876.htm

     在网上看了些材料,别人都说要重装,可能是在安装的某些步骤没有对,但是在安装的时候,要到服务里把已经安装的Mysql服务删除。于是按照网上提供的步骤,重装了一遍。

先进入添加删除程序,找到MySQL选择卸载。

然后清除相关文件,要清除的文件主要有:
一、mysql的安装目录,一般为C:\Program Files目录下。
二、mysql的数据存放目录,一般在C:\ProgramData\MySQL目录下(需要注意的是ProgramData这个文件夹默认是隐藏的,要通过工具->文件夹选项->查看->显示所有文件与文件夹来设置隐藏文件可见)。
三、删除注册表数据,开始--运行--regedit,删除以下几个文件: 

HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL

我在注册表里CTRL+F搜索跟MySQL有关的注册表项发现不止上面几个,反正找到的都删了!

四、把MySQL Datafiles目录(安装MySQL时自己设置的路径)也删除了。

五、重新安装。

但还是没有成功。于是去看服务里去启动MySQL服务,出现了windows无法启动MySQL服务 错误1067:进程意外终止

没多想,直接百度,看着以下的帖子:http://roc588.blog.163.com/blog/static/140977409201141394928538/

一、
1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM。

2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1


3。找到在配置MySQL服务器时指定的InfoDB目录删除掉ibdata1

根据my.ini文件中:

#*** INNODB Specific options ***
        innodb_data_home_dir="D:/"。
4。重新启动MySQL的Service  

二、

MySQL在安装的时候不会自动初始tmpdir(临时文件目录),所以要在配置文件my.ini中添加如下内容:

    [mysqld]

    #自己指定的临时文件目录

    tmpdir="D:/MySQL/MySQL Server 5.1/Temp"

    再次启动MySQL一切正常的话,在Temp文件夹下生成了一些*.tmp的临时文件。

    最后还是存在一些疑问:如果是由于没有初始化tmpdir造成的,那为什么在第一次安装的时候没有初始化,却不会出现这样的问题呢?

三、

网上有人说把my.ini放到C:\WINDOWS下或者修改它的某些内容就可以了,但我遇到的问题仍然没有解决。下面的也是网上提供的一种解决方法,是将参数中的--defaults-file用--defaults-extra-file取代,如下:

        mysqld --install MySQL --defaults-file=E:/mysql-5.0.83-win32/my.ini

        改为

        mysqld --install MySQL --defaults-extra-file=E:/mysql-5.0.83-win32/my.ini

执行mysqld --verbose --help能看到mysqld的用法,其中就有这两个参数的说明。

还有另外一个帖子:http://blog.csdn.net/zndxlxm/article/details/8249592

在安装了mysql服务以后,但是在计算机--->服务里面启动mysql服务的时候,

提示windows无法启动mysql服务,错误1067.

这个问题很简单,这是因为在mysql服务启动的时候,在读取MySql配置文件my.ini的时候

这个文件当中缺少mysql服务启动exe文件的配置。

1.下面是我在报错情况下的的my.ini文件

[client]
port=3306


[mysql]
default-character-set=utf8


[mysqld]
port=3306
basedir="D:/install/mysql/"
datadir="D:/install/mysql/Data/"
default-character-set=utf8
default-storage-engine=INNODB

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=17M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G、
myisam_sort_buffer_size=33M
key_buffer_size=24M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_log_buffer_size=1M
innodb_buffer_pool_size=45M
innodb_log_file_size=23M
innodb_thread_concurrency=10

我们发现这个配置文件里面没有mysql启动项的配置。这时只需要将如下配置文件添加进去问题就解决了。

(如下配置项放到配置文件的[client]的上面就可以了)

[WinMySQLAdmin]
Server=D:/install/mysql/bin/mysqld-nt.exe(注:这个是mysql启动项的路径
user=root

都测试过,都没有成功。于是看到一个人的文章中有去看服务那里的错误信息。如何看呢?

右击计算机-->管理-->点击事件查看器-->点击应用程序和服务日志

于是点开错误日志,发现自己的问题是找不到安装目录,出现了中文乱码,原来是这个问题。我把数据库安装在了有中文的目录中,所以找不到启动服务的配置信息,于是我重新建了一个没有中文的目录,重装了一遍,问题解决!

当然,错误日志是不尽相同的,比如上面那位的错误信息:(

当遇到问题的时候,我们首先想到的应该是去查看错误日志,而不是不加思索地去Google、baidu,其实从错误日志中我们能得到真正造成问题的原因,对症下药,才能药到病除。MySQL的错误日志(.err)位于C:\ProgramData\MySQL\MySQL Server 5.5\data目录下,文件名一般为你的计算机名。

以下是我的错误日志中最后显示的信息,而且重复出现

110513 21:24:25 [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use InnoDB's own implementation
InnoDB: Compressed tables use zlib 1.2.3
110513 21:24:26  InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
110513 21:24:26  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
110513 21:24:26  InnoDB: Warning: allocated tablespace 1, old maximum was 0
InnoDB: Error: trying to add tablespace 27 of name '.\rocro_com\ecs_order_back_list.ibd'
InnoDB: to the tablespace memory cache, but tablespace
InnoDB: 27 of name '.\huayuan\customers_wishlist.ibd' already exists in the tablespace
InnoDB: memory cache!
110513 21:25:19 [Note] Buffered information: Performance schema disabled (reason: start parameters).

在此很明显的可以看到'.\rocro_com\ecs_order_back_list.ibd'  跟 '.\huayuan\customers_wishlist.ibd'  这两个数据库在读取数据空间时发生了错误,于是我把其中一个数据库先移走,然后启动MySQL Server,MySQL Server启动成功!!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多