Ubuntu 源碼安裝 MySQL 5.1.62(我個人經驗,僅供參考)
在ubuntu下安裝資料庫最簡單直接的方法就是用一句命令:sudo apt-get install mysql-server 但這一個方法經常會遇到問題,具體原因我也不清楚,可能是mysql的伺服器出問題了,下載不到源碼,也可能是自己機器的問題。但有時也是挺方便的就是在中途設定一個root使用者的密碼就行了,適合對linux不太熟悉的初學者。第二個方法就是利用mysql的源碼進行安裝,現在網上也有很多關於mysql源碼安裝的教程,自己也嘗試很多,發現不是這樣就是那樣的問題,最後我想還是自己的問題自己解決算了,於是經過自己的不斷探索我終於找到了一個適合自己的源碼安裝方法。這個方法的好處是當你的機器無法連網或者是第一個方法不行是就會凸顯其優點。我的環境是ubuntu-11.04,核心版本是2.6.38.
1、首先下載mysql-5.1.62源碼安裝包mysql-5.1.62.tar.gz
連結:MySQL 5.5.22、5.1.62、5.0.96全線發布
2、把它解壓到/usr/local目錄下tar –zxvf mysql-5.1.62.tar.gz –C /usr/local解壓成功後,開啟/usr/local會看到mysql-5.1.62的目錄
3、建立軟串連在/usr/local目錄下執行:ln –s /usr/local/mysql-5.1.62 mysql 成功後會看到/usr/local目錄下出現一個mysql的串連檔案。該檔案可以通過cd mysql進入
4、完成上面的工作後,下一步要建立mysql使用者了:先建立一個使用者組groupadd Mysql 。成功後再建立一個使用者並把使用者添加到剛建立好的使用者組裡面useradd –r –g Mysql mysql 。完成這一步後,我們已經建立好了使用者組Mysql和使用者mysql(使用者組和使用者名稱都是可以自訂的)
5、我們要給剛才建立好的使用者組和使用者賦予操作mysql目錄的許可權操作如下:在/usr/local/mysql目錄下執行chown –R mysql .(別丟了最後一個“.”)這一步是給使用者mysql賦予許可權。接著執行chgrp –R Mysql .(注意最後一個點),這天一步是給使用者組Mysql賦權
6、上面的所有準備工作完成後,我們要開始安裝mysql了(嘿嘿)在/usr/local/mysql路徑下你會看到檔案configure 執行命令:./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --with-unix-socket-path=/tmp/mysql.sock --with-tcp-port=3309 --with-mysqld-user=mysql --enable-profiling(這一步時間有點長,要等一會哦)成功後你會看到Thank you to choosing MySQL 的字樣,說明你已經成功1/3了(哈哈)
7、然後執行make(這一步時間更長,等待哦)
8、再接著執行make install(這一步也比較長)
上面三步成功後說明你已經成功安裝mysql了,接下來就是怎麼配置的問題了。執行cp ./support-files/mysql.server /etc/init.d/mysqld和
cp ./support-files/my-medium.cnf /etc/my.cnf這兩個操作是把/usr/local/mysql/support-files/目錄下才兩個檔案mysql.server和my-medium.cnf分別放到指定的目錄下並重新命名為mysqld和my.cnf
9、這一步是對my.cnf檔案的操作,剛才我們把它放在了/etc/目錄下,你可以在/etc/目錄下面找到這個檔案。執行命令gedit my.cnf(或者vi my.cnf)找到port這個選項,目前可能是port=3306而我們剛才設定的是3309(查看第6步)所以我們要把它改為3309即port=3309(一共是兩個都要改了)
10、 第一次安裝資料庫,要進行初始化:在/usr/local/mysql路徑下執行bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql(你會在/usr/local/mysql/bin目錄下看到mysql_install_db這個檔案)
11、 哈哈,這一步要啟動mysql了,是不是有點激動呢,廢話不多說,直接上命令:在/usr/local/mysql目錄下,執行bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & (別丟下最後一個&, &是為了讓mysql在後台運行,不然只能在前台運行了)現在mysql已經啟動然後我們可以登入資料庫了
12、 現在開始登入資料庫,命令:mysql -u root –p (現在資料庫root使用者我們還沒設定密碼,預設為空白,所有-p後面什麼也不用添加)Enter後你會看到Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.62-log Source distribution
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
這說明你已經成功了,哈哈哈哈
11、現在可以為root使用者添加密碼了,方法很簡單:
命令mysqladmin -u root password 'new-password'或者mysqladmin -u root password –h “hostname” 'new-password'其中new-password就是你想要給root使用者佈建的密碼,-h是知道你的主機,主機名稱“hostname”可以通過命令hostname查看
然後當你再次登入mysql時就要輸入這個密碼了(不要忘了哦),當然你也可以不設定密碼,不過沒密碼的資料庫就沒什麼安全可言了,嘿嘿。
12、不過這個資料庫每次都要手動啟動,下面介紹一種讓mysql開機自啟動的方法:用超級使用者root的身份操作
# echo "/usr/local/mysqlgame/bin/mysqld_safe &" >> /etc/rc.local
# more /etc/rc.local 查看是否添加成功。
# reboot 重啟Linux 看看是否成功