前段時(shí)間買了臺(tái)新電腦,許多軟件沒有安裝上去。晚上看了些學(xué)習(xí)視頻,發(fā)現(xiàn)自己的數(shù)據(jù)庫(kù)都沒有安裝,于是就想安裝mysql數(shù)據(jù)庫(kù)。以前學(xué)習(xí)的主要是oracle,mysql的安裝還是第一次安裝!第一次安裝還是出現(xiàn)了點(diǎn)問題。
首先,按照網(wǎng)上的安裝自己走了一遍,果然出現(xiàn)了比較常見的問題。start service安裝不成功!其具體的安裝過程參考:http://www.jb51.net/article/23876.htm
在網(wǎng)上看了些材料,別人都說要重裝,可能是在安裝的某些步驟沒有對(duì),但是在安裝的時(shí)候,要到服務(wù)里把已經(jīng)安裝的Mysql服務(wù)刪除。于是按照網(wǎng)上提供的步驟,重裝了一遍。
先進(jìn)入添加刪除程序,找到MySQL選擇卸載。
然后清除相關(guān)文件,要清除的文件主要有:
一、mysql的安裝目錄,一般為C:\Program Files目錄下。
二、mysql的數(shù)據(jù)存放目錄,一般在C:\ProgramData\MySQL目錄下(需要注意的是ProgramData這個(gè)文件夾默認(rèn)是隱藏的,要通過工具->文件夾選項(xiàng)->查看->顯示所有文件與文件夾來設(shè)置隱藏文件可見)。
三、刪除注冊(cè)表數(shù)據(jù),開始--運(yùn)行--regedit,刪除以下幾個(gè)文件:
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
我在注冊(cè)表里CTRL+F搜索跟MySQL有關(guān)的注冊(cè)表項(xiàng)發(fā)現(xiàn)不止上面幾個(gè),反正找到的都刪了!
四、把MySQL Datafiles目錄(安裝MySQL時(shí)自己設(shè)置的路徑)也刪除了。
五、重新安裝。
但還是沒有成功。于是去看服務(wù)里去啟動(dòng)MySQL服務(wù),出現(xiàn)了windows無法啟動(dòng)MySQL服務(wù) 錯(cuò)誤1067:進(jìn)程意外終止
沒多想,直接百度,看著以下的帖子: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服務(wù)器時(shí)指定的InfoDB目錄刪除掉ibdata1
根據(jù)my.ini文件中:
#*** INNODB Specific options ***
innodb_data_home_dir="D:/"。
4。重新啟動(dòng)MySQL的Service
二、
MySQL在安裝的時(shí)候不會(huì)自動(dòng)初始tmpdir(臨時(shí)文件目錄),所以要在配置文件my.ini中添加如下內(nèi)容:
[mysqld]
#自己指定的臨時(shí)文件目錄
tmpdir="D:/MySQL/MySQL Server 5.1/Temp"
再次啟動(dòng)MySQL一切正常的話,在Temp文件夾下生成了一些*.tmp的臨時(shí)文件。
最后還是存在一些疑問:如果是由于沒有初始化tmpdir造成的,那為什么在第一次安裝的時(shí)候沒有初始化,卻不會(huì)出現(xiàn)這樣的問題呢?
三、
網(wǎng)上有人說把my.ini放到C:\WINDOWS下或者修改它的某些內(nèi)容就可以了,但我遇到的問題仍然沒有解決。下面的也是網(wǎng)上提供的一種解決方法,是將參數(shù)中的--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
執(zhí)行mysqld --verbose --help能看到mysqld的用法,其中就有這兩個(gè)參數(shù)的說明。
還有另外一個(gè)帖子:http://blog.csdn.net/zndxlxm/article/details/8249592在安裝了mysql服務(wù)以后,但是在計(jì)算機(jī)--->服務(wù)里面啟動(dòng)mysql服務(wù)的時(shí)候,
提示windows無法啟動(dòng)mysql服務(wù),錯(cuò)誤1067.
這個(gè)問題很簡(jiǎn)單,這是因?yàn)樵趍ysql服務(wù)啟動(dòng)的時(shí)候,在讀取MySql配置文件my.ini的時(shí)候
這個(gè)文件當(dāng)中缺少mysql服務(wù)啟動(dòng)exe文件的配置。
1.下面是我在報(bào)錯(cuò)情況下的的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
我們發(fā)現(xiàn)這個(gè)配置文件里面沒有mysql啟動(dòng)項(xiàng)的配置。這時(shí)只需要將如下配置文件添加進(jìn)去問題就解決了。
(如下配置項(xiàng)放到配置文件的[client]的上面就可以了)
[WinMySQLAdmin]Server=D:/install/mysql/bin/mysqld-nt.exe(注:這個(gè)是mysql啟動(dòng)項(xiàng)的路徑)
user=root
都測(cè)試過,都沒有成功。于是看到一個(gè)人的文章中有去看服務(wù)那里的錯(cuò)誤信息。如何看呢?
右擊計(jì)算機(jī)-->管理-->點(diǎn)擊事件查看器-->點(diǎn)擊應(yīng)用程序和服務(wù)日志
于是點(diǎn)開錯(cuò)誤日志,發(fā)現(xiàn)自己的問題是找不到安裝目錄,出現(xiàn)了中文亂碼,原來是這個(gè)問題。我把數(shù)據(jù)庫(kù)安裝在了有中文的目錄中,所以找不到啟動(dòng)服務(wù)的配置信息,于是我重新建了一個(gè)沒有中文的目錄,重裝了一遍,問題解決!
當(dāng)然,錯(cuò)誤日志是不盡相同的,比如上面那位的錯(cuò)誤信息:(
當(dāng)遇到問題的時(shí)候,我們首先想到的應(yīng)該是去查看錯(cuò)誤日志,而不是不加思索地去Google、baidu,其實(shí)從錯(cuò)誤日志中我們能得到真正造成問題的原因,對(duì)癥下藥,才能藥到病除。MySQL的錯(cuò)誤日志(.err)位于C:\ProgramData\MySQL\MySQL Server 5.5\data目錄下,文件名一般為你的計(jì)算機(jī)名。
以下是我的錯(cuò)誤日志中最后顯示的信息,而且重復(fù)出現(xiàn)
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' 這兩個(gè)數(shù)據(jù)庫(kù)在讀取數(shù)據(jù)空間時(shí)發(fā)生了錯(cuò)誤,于是我把其中一個(gè)數(shù)據(jù)庫(kù)先移走,然后啟動(dòng)MySQL Server,MySQL Server啟動(dòng)成功??!
)