Ubuntu 12.04 64位 下編譯安裝MySQL 5.5.29
步驟一:
先去mysql的官方網站 去down 編譯源碼包
mysql 網址:www.mysql.com
downloads (MySQL Community Server)
下載版本選擇 source code 然後找到
Generic Linux (Architecture Independent), Compressed TAR Archive |
|
5.5.29 |
23.7M |
Download |
(mysql-5.5.29.tar.gz) |
步驟二:
先要安裝幾個外掛程式要不然 cmake不成功
1.apt-get install cmake
2.apt-get install libncurses5-dev (我忘了這個是在哪裡需要的了,不是cmake時候就是make的時候,如果你沒有安裝他會提醒你的注意看輸出的資訊就行)
3.apt-get install gcc c++ bison libaio1
4. 安裝基本編譯工具apt-get install build-essential automake autoconf cmake
對下載下來的源碼包進行解壓 編譯安裝
tar zxvf mysql-5.5.29. tar.gz
cd mysql-5.5.29
5.運行以下命令列編譯 mysql,比較長,記得編譯時間是把下面的多行一起複製到命令視窗編譯
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLE_DEBUG_SYNC=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_LIBWRAP=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=yes
6.make
7.make install
8. sudo cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf (複製原mysql的設定檔 作為etc下的設定檔)
9. 編輯 my.cnf 檔案以支援 innodb,(去掉設定檔中前面帶# )去掉#以後的如下:
- # Uncomment the following if you are using InnoDB tables
- innodb_data_home_dir = /home/mysql/3306/data
- innodb_data_file_path = ibdata1:10M:autoextend
- innodb_log_group_home_dir = /home/mysql/3306/data
- # You can set .._buffer_pool_size up to 50 - 80 %
- # of RAM but beware of setting memory usage too high
- innodb_buffer_pool_size = 16M
- innodb_additional_mem_pool_size = 2M
- # Set .._log_file_size to 25 % of buffer pool size
- innodb_log_file_size = 5M
- innodb_log_buffer_size = 8M
- innodb_flush_log_at_trx_commit = 1
- innodb_lock_wait_timeout = 50
10.
sudo adduser xxx 這樣的命令會在home目錄下添加一個帳號sudo useradd xxx 僅僅是添加使用者, 不會在home目錄添加帳號
cd /usr/local/mysql
chown -R mysql:mysql . (所有的檔案都屬組屬主)
11.
初始化資料庫
sudo /usr/local/mysql/scripts/mysql_install_db --defaults-file=/home/mysql/3306/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/3306/data
12.
啟動資料庫
sudo /usr/local/mysql/bin/mysqld_safe --defaults-file=/home/mysql/3306/my.cnf --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/3306/data &
13.
修改使用者名稱密碼,其中的 NEW_PASSWORD 換成你自己想要設定的密碼
/usr/local/mysql/bin/mysqladmin -u root password 'YOUR PASSWORD'
關閉資料庫使用如下命令
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
14. 做一個符號連結:ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
15 啟動:mysql start...這裡遇到一問題:Couldn't find MySQL manager (/usr/bin/mysqlmanager) or server (/usr/bin/mysqld_safe),解決:在/usr/bin下面建立一個/usr/local/mysql/bin/mysqld_safe的軟串連。
=========================================================================================================
如果出現該錯誤 The server quit without updating PID file (/var/run/mysqld/mysqld.pid).
請用以下辦法進行解決,
然後在/home/mysql/3306/ 下 建立 一個軟連結
sudo /etc/my.cnf /home/mysql/3306/
然後在:
sudo vi /etc/init/mysql
修改:
basedir=/usr/local/mysql
datadir=/home/mysql/3306/data
然後在重啟 sudo /etc/init.d/mysql restart
就成功了