my sql 5.22 linux 安裝

來源:互聯網
上載者:User
本文: MySQL版本: 5.0.22 (可到 MySQL.cn 中文站下載更加新的版本)

其實MySQL在Linux下,只是一個軟體...沒咩大不了,就好像響你部電腦裡邊裝佐個CS伺服器一樣...距只系用來提供SQL服務.

其實整個安裝過程並不複雜,~但網上好多網友們都說裝好了這裡不能用,那裡不能用..都是因為細微的東西沒有調好..而這篇手記,就記載了我整整一個國慶研究Linux下安裝MySQL,為什麼不成功的問題解決方案.

先說說眾所周知的安裝方法.

下載了mysql-5.0.22-2.1.i386.tar 和 mysql-devel-5.0.22-2.1.i386.rpm 安裝包(記得devel最好開始就裝上, 很多安裝包依賴mysql.h的, 否則後面重裝沒商量).

然後就 tar -zxvf mysql-5.0.22-2.1.i386.tar (就是解壓縮)

然後就進入已解壓縮的目錄 cd MySQL mysql-5.0.22-2.1.i386

然後就 ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql

以上命令意思備忘:

#prefix=/usr/local/mysql mysql    安裝的目標目錄

#sysconfdir=/etc my.ini               設定檔的路徑

#localstatedir=/var/lib/mysql       資料庫存放的路徑

等待若干分鐘之後~就 make~

make這個東西...對於MySQL源碼包來說簡直就是....我這台測試伺服器的CPU是 PIII 1G 的~等上了我半個小時.

然後就半個小時之後~~就 Make Install ...等大概幾分鐘.這樣MySQL 就算安裝完畢了.下邊就開始做細微的東西.

安裝完以後要初始化資料庫:

/usr/local/mysql/bin/mysql_install_db

如果系統沒有mysql這個使用者的話,最好做以下這步:

useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql

然後我啟動mysql(下邊這個啟動代碼的寫法很重要,記住要加上執行使用者 --user=XXX)

/usr/local/mysql/bin/mysqld_safe --user=root& 或者 --user=mysql& 

ok,先看看mysql能否正常工作

一般情況下都是不能正常連結資料庫,錯誤提示一般為:

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

其實網上大家問的最多的都是整個問題,說什麼連結不到mysqld.sock,其實大家不妨看看mysql的錯誤記錄檔就明白怎麼回事,我這裡的錯誤記錄檔是在

/var/lib/mysql/*.err 你會發現mysql只所以不能啟動,是因為/var/lib/mysql的許可權不允許mysql服務訪問,英文mysql預設是調用mysql使用者來啟動服務的,好了,既然知道是什麼原因找到不能啟動,那就簡單了。我們只要

chown -R mysql:mysql /var/lib/mysql 就行,如果還是啟動不了,再慢慢調試許可權,反正一般啟動不了都是許可權的問題。或者是少了什麼目錄...記得要看這個/var/lib/mysql/*.err 錯誤記錄檔,他能告訴你錯在哪.

如果大家還是不能啟動不了的話,那就用我的比較繁瑣的許可權的設定,反正我每次都是這麼做的,一般不會有問題,見下:

chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib/mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/mysql/mysql/*
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

做完上面的步驟,再次運行 /usr/local/mysql/bin/mysqld_safe --user=root&

沒有出現 End 這東西...就證明 MySQL成功運行了..

再用連接埠命令證實一次 netstat-ant   ~~看到有 3306 連接埠,即已成功!

然後把你編譯目錄的一個指令碼COPY過去

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

用ntsysv設定使mysql每次啟動都能自動運行。

但!,往往很多網友都發現,當他們重新啟動伺服器MySQL不能自動啟動.

運行 etc/rc.d/init.d/mysqld start 的時候..就出現 [ 失敗 ]

而運行/usr/local/mysql/bin/mysqld_safe --user=root&  就成功的.

為什麼?? 這個就是鬱悶了我這麼久的原因!!..原來..Linux As4這個版本對許可權要求很嚴格!!..我們剛剛開始建立的帳戶mysql..沒有運行程式的許可權.而 etc/rc.d/init.d/mysqld start 這個教本的執行預設使用者,就偏偏是 mysql

所以就導致了怎樣也啟動不了.同樣道理.~如果啟動並執行是

運行/usr/local/mysql/bin/mysqld_safe --user=mysql & 而不是 --user=root& 的話,一樣執行不了.

所以!...只要把 mysql 這個使用者,在mysql組裡邊的同時,再添加到root組.~就是說,擁有root那樣,能夠執行程式的許可權.

再次執行etc/rc.d/init.d/mysqld start  試試~~嘿嘿!成功啦!..

再試試重新啟動~~一開完機,就輸入 netstat -ant 看看!..嘿嘿!~..3306 顯在了!

/usr/local/mysql/bin/mysqladmin -u root -p password 'mysql的root密碼'

再通過以上命令修改MySQL的密碼~

好了,至此mysql安裝完畢.

 

注意很多時候我們源碼安裝一些依賴Mysql的程式包時, 提示Cannot find MySQL header files, 這是因為沒有裝開發版的原因,或者沒有正確指定路徑,

  • 一般先找找看

find / -name mysql.h

  • 找不到就要安裝了: 下載mysql-devel-5.0.22-2.1.i386.rpm 安裝包(記得devel最好開始就裝上, 很多安裝包依賴mysql.h的, 否則後面重裝沒商量).

rpm -ivh mysql-devel-5.0.22-2.1.i386.rpm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.