mysql啟動提示mysql.host 不存在,啟動失敗的解決方案

來源:互聯網
上載者:User

error 日誌當中的記錄:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

從發了文章,只有人看,沒有人回複,看到這種情況只能自己解決問題了,自己動手豐衣足食嗎, 嗯。。。 你還別說,還真讓我解決了問題,人啊,都是逼出來的,....沒有辦法,這個問題對於高手可能是很簡單的問題 ,但是對我第一次摸mysql,確實怎麼也弄不懂的問題。
好了閑話不多說 說一下我解決的過程:

按照mysql的安裝步驟:
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root /usr/local/mysql
shell> chown -R mysql /usr/local/mysql/var
shell> chgrp -R mysql /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &

這樣標準進行下來是沒有問題的,但在最後一步啟動mysql的時候我希望將資料庫的資料檔案放在另外一個目錄下面,啟動命令修改為:
shell>/usr/local/mysql/bin/mysqld_safe --user=mysql --log-error=/u01/mysql/mysql_error/error --datadir=/u01/mysql/data

這個時候就出現問題了, 因為在進行初始化資料庫許可權表的那一步的時候預設建立的許可權表在預設目錄/usr/local/mysql/var下面,這就造成了,上面的錯誤無法找到 許可權表:Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

解決辦法 在運行初始化許可權表的時候使用增加參數--datadir ,命令格式為:
shell> scripts/mysql_install_db --user=mysql --datadir=/u01/mysql/data
這樣問題就解決了。
這樣問題同樣也會出現 你將自己的資料庫的資料檔案修改為別的目錄的時候,因為你沒有在相應的目錄下建立資料庫許可權表,解決辦法就是你重新運行mysql_install_db 檔案,重建資料庫許可權表,但是相應的你也要重建立裡使用者,以及設定許可權; 第二個辦法應該將老的許可權表的檔案拷貝倒相應資料庫表對應的目錄先即可,但是第二個辦法我沒有用過只是根據自己的想象猜的。如果有高手請給確認一下是否正確

MySQL 提示服務啟動失敗的解決辦法

以前經常碰到這個問題,但都是用以下辦法處理的,

先在添加刪除程式裡卸載MySQL,然後把原MySQL的目錄改名,再開啟註冊表用F3迴圈尋找“MySQL”,全部刪除,最後重啟機器再重新裝MySQL都可以搞定,但今天遇到的問題位元殊,按上面和下面的辦法全試過了依然不行,安裝到最後一到啟動那裡就失敗了,把所有正在啟動並執行服務和軟體全部關掉,又連續重啟重裝了N次都是到那裡停止,後來乾脆換個高版本兒試下,這次全部刪除後重裝到最後那一步時還是等了很長時間,最後竟然成功了,現在記錄下來,以後再遇到此類問題不用再鬱悶了!

重裝是成功了,但是重啟後測試發現又出問題了,服務啟動不了,一直報錯如下:
在 本機電腦 無法啟動 MySQL 服務。
錯誤 1053: 服務沒有及時響應啟動或控制請求。

又研究了半天,最後終於搞定,發現他原來的電腦系統管理員使用者名稱裡有個$字元,心想不會是他的事兒吧,就建了一個正常的獨立電腦賬戶MySQLUSER,然後在進程裡把mysqld.exe結束,然後在MySQL所在的目錄上點右鍵屬性安全,添加MySQLUSER這個使用者並給完全控制許可權,再開啟服務管理員在MySQL服務上點右鍵,輸入剛才建立的帳號和密碼確定,如!

最後再隨意重啟服務,重啟電腦再試,依然很順利,至此這個疑難問題算是徹底解決,問題根源就是那個系統管理員帳號內的$字元,呵呵。

附幾個常用的MySQL的和MySQL管理工具!

http://sys.7i24.com/soft/mysql5132.rar
http://sys.7i24.com/soft/mysql5158.rar
http://mysql.he.net/Downloads/MySQL-5.5/mysql-5.5.21-win32.msi

MySQL 5.5.12 官方版(For Windows 64位)
thunder://QUFodHRwOi8veGlhemFpLnhpYXphaWJhLmNvbS9Tb2Z0L00vTXlTUUxfNS41LjEyX3dpbng2NF9YaWFaYWlCYS56aXBaWg==

● Navicat for MySQL V9.0.15 綠色中文版_優秀的資料庫管理和開發工具
thunder://QUFodHRwOi8vd3d3dy4xMTkueGRvd25zLmNvbS91cGxvYWRGaWxlLzIwMTAtMTAvbmF2aWNhdF9mb3JfTXlTUUwucmFyWlo=

================以下是遇到此類問題時的常規處理辦法========================
mysql 安裝到最後一步時,start service 為失敗狀態 請問是什麼原因

使用services.msc打開服務視窗,查看MySQL service是否已經存在。如已經存在並已啟動,則先停止該服務,然後到注冊表("HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Services")中刪除對應服務,並使用命令sc delete MySQL,然後繼續進行安裝,就能成功。
MYSQL安裝出現could not start the service mysql error:0處理
當各位在安裝、重裝時出現could not start the service mysql error:0的錯誤時,可以嘗試下面兩種方法。
一、方式1
MySQL安裝是出現could not start the service mysql error:0 提示錯誤,解決方案:
首 先,在管理工具->服務裡面將MySQL的服務給停止,然後開啟cmd 進入你的MySQL bin目錄下,例如 C:\Program Files\MySQL\MySQL Server 5.0\bin 然後使用如下命令mysqld-nt -remove 然後就會顯示......success! 好了下面進入添加刪除程式,找到MySQL選擇卸載,記得選擇remove。最後將MySQL目錄刪除,還有資料庫的目錄也刪除。
一、方式2
查看服務中有沒有mysql,如果有將該服務停掉;
安裝mysql 5.1.33,在運行Server Instance Configuration wizard時的Execute configurattion步驟中的第三項Start Service進出錯,錯誤提示為Could not start the service MySQL (出現這種情況一般是因為裝過mysql,卸載不乾淨造成的。卸載後重啟後再重裝。注意看下服務,如果未能卸載,可以用mysqld-nt -remove卸載)。
在控制台中運行添加刪除程式,將mysql卸載;
卸載後開啟註冊表,查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的索引值,如果有相關mysql索引值(mysql、mysqladmin)則刪掉,即可;
重啟,將mysql的安裝殘餘目錄刪掉 (查看服務,此時服務中已沒有mysql);
重新安裝mysql.安裝後先不要運行Server Instance Configuration wizard,重啟後在開始菜單中運行該嚮導,即可。
windowsxp系統 mysql-5.0.81
提示:1045 access denied for user 'root'@'localhost' using password yes
MySQL 5.1 安裝過程中報apply security setting錯誤的解決辦法 收藏
Mysql安裝錯誤apply security settings 解決方案
The security settings could not be applied to the database because the connection has failed with the following error.
Error Nr. 1045
Access denied for user 'root'@'localhost' (using password: YES)
If a personal firewall is running on your machine, please make sure you have opened the TCP port 3306 for connections. Otherwise no client application can connect to the server. After you have opened the port please press [Retry] to apply the security settings.
If you are re-installing after you just uninstalled the MySQL server please note that the data directory was not removed automatically. Therefore the old password from your last installation is still needed to connect to the server. In this case please select skip now and re-run the Configuration Wizard from the start menu.
MySQL 5.1 安裝過程中報apply security setting錯誤的解決辦法
1, 卸載MySQL
2, 刪除目錄 C:\Documents and Settings\All Users\Application Data\MySQL
3, 重新安裝MySQL 就 OK 啦
------------------------------------------
[MySQL] Could not start the service MySQL 解決方案
安裝mysql 5.1.33,在運行Server Instance Configuration wizard時的Execute configurattion步驟中的第三項Start Service進出錯,錯誤提示為Could not start the service MySQL (出現這種情況一般是因為裝過mysql,卸載不乾淨造成的。卸載後重啟後再重裝。注意看下服務,如果未能卸載,可以用mysqld-nt -remove卸載)。
具體方法如下:
查看服務中有沒有mysql,如果有將該服務停掉;
在控制台中運行添加刪除程式,將mysql卸載;
卸載後開啟註冊表,查看HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下的索引值,如果有相關mysql索引值(mysql、mysqladmin)則刪掉,即可;
重啟,將mysql的安裝殘餘目錄刪掉 (查看服務,此時服務中已沒有mysql);
重新安裝mysql.安裝後先不要運行Server Instance Configuration wizard,重啟後在開始菜單中運行該嚮導,即可。
PS:一種值得參考的方法
---------------------------------------------
msyql安裝到最後一步start service錯誤解決方案
1,到控制台裡面先把mysql刪除.
2.到c盤C:\Program Files目錄下把mysql目錄刪除.
3.如果在其他盤還有設定目錄也要刪除.空目錄也要刪除
4.到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

有的話,全部刪除!
(技巧:用F3迴圈尋找“mysql”)
5.如果工作管理員裡有關mysql內容也刪除
6,把防火牆關了
7,重新裝mysql(這裡我沒有重啟電腦)
重裝時候有必要的話,重啟電腦,停用IIS,和刪除temp裡的臨時檔案.
實在不行的話,配置mysql時候,把mysql服務換個服務名.
******************************************************************************************
---------------------------
刪除項時出錯。
---------------------------
無法刪除 LEGACY_MYSQL51: 刪除項時出錯。
---------------------------
確定
---------------------------
解決辦法:登錄機碼裡右鍵增加administrators所有許可權
安裝mysql時可能產生cannot create windows service for mysql.error:0錯誤,錯誤的原因多數由於重新安裝mysql或者對mydql升級,使用MySQL Configuration Wizard而產生.
解決的方法:到regedit把註冊表,用F3迴圈尋找“mysql”,全部刪除,重新裝mysql,即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.