程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 在linux下面安裝MySQL5.6管理帳號安裝失敗的解決方法

在linux下面安裝MySQL5.6管理帳號安裝失敗的解決方法

編輯:MySQL綜合教程

在linux下面安裝MySQL5.6管理帳號安裝失敗的解決方法   這不算什麼文章,只是為了記錄今天下午我無緣無故花費的時間。避免下次浪費同樣的時間,我還是把今天遇到的問題和解決方法記錄下來吧。   MySQL其實並不復雜,但自從某一個版本開始,MySQL的安裝變得越來越復雜。不明白他們為什麼這麼做,是因為被oracle收購的原因麼?   我用的是redhat,安裝的MySQL版本5.6。安裝文件為rpm包。簡單說一下正常的MySQL rpm包的安裝流程:   redhat一般會自帶一個mysql,首先要卸載它,否則安裝會沖突。 如果有yum,可以運行 1 >yum list mysql-client 2 >yum list mysql-server 來找出安裝的mysql。 運行 1 >yum remove package-name 來刪除mysql的包。 如果沒有yum,可以使用 1 >rpm -qal | grep mysql 列出已經安裝的rpm,使用 1 >rpm -e package-name 來刪除。 最後運行命令 1 >whereis mysql 來查看還有沒有mysql的目錄,使用rm命令刪除所有遺留目錄。 使用 1 >rpm -ivh mysql-package-name 來安裝Mysql。 一般情況必須裝的兩個包是mysql-server和mysql-client。 mysql-client提供了mysql和mysqladmin等查詢和管理工具。 rpm安裝會自動調用mysql_install_db命令,為我們populate數據庫用戶表。這張表存在數據庫mysql中,名字叫user. rpm安裝會自動為你創建root用戶,並隨即產生一個密碼,密碼存放在/root/.mysql_secret中。 接下來就是啟動mysql server, 可以使用以下幾種命令: 1 >mysqld -u mysql 2 >/etc/init.d/mysql start   需要使用root來連接數據庫,或者使用mysqladmin來管理帳戶。然後重設你的密碼。並創建其他用戶。每個用戶會有多種登陸方式,remote, localhost等等。你需要為你的帳戶制定各種登陸方式以及相應的密碼。 至此,你的mysql就配置完成了。 接下來說我遇到的問題。這個問題費了我不少時間。   當我做完上面的第4步以後,執行第5步,發現我無論用什麼帳戶,都無法登陸到mysql中去,使用mysqladmin也必須用root登陸。所以我的root是一個無效存在。/root/.mysql_secret裡面的密碼倒是存在。這說明,rpm安裝過程中,mysql_install_db出現了問題,可能是bug。我卸載了重裝,也無法解決問題。於是乎,我只能啟動Mysql的安全模式,去查看user表裡面到底有沒有用戶。   啟動mysql安全模式。 1 停止mysql : 2 >/etc/init.d/mysql stop 3   4 啟動安全模式: 5 >mysqld_safe --user=mysql --skip-grant-tables --skip-networking &   連接mysql。以上的模式下,mysql不會檢查用戶密碼。你可以直接運行mysql就能連接。 查看user表。運行 1 mysql>use mysql; 2 mysql>select * from user; 我發現這張表裡面沒有任何數據。這驗證了我之前的想法,用戶並沒有被populate進來。怎麼辦?只能自己給它創建一個用戶了。 創建root用戶: 1 mysql>INSERT INTO user VALUES('localhost','root',password('root'), 2 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 3 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 4 'Y','Y','Y','Y','Y','','','','','0','0','0','0','','','N'); 分別要注意4個值,第一行的3個,和最後一行的最後一個值。第一行3個分別是用戶的方法方式,%代表任意host,也可以使用ip。最後一個值"N",代表你的password是否過期,如果過期,你在登陸的時候你需要重設密碼。 至此,你有了一個root帳號。關閉安全模式,啟動正常模式,用root登陸進mysql, 接下來你就回歸正常的流程的第7步了。 完畢。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved