1.下載mysql的源碼安裝包廢了不少周折,最後直接在Google上搜mysql-5.5.tar.gz纔在臺灣的一個edu資源庫中找到
2.rz -yeb到ubuntu上(之前裝了SecureCRT)
3.解壓並安裝
tar zxvf mysql-5.5.27.tar.gz
ln -s /var/lib/ureadahead/debugfs/mysql-5.5.27 /usr/local/mysql
cd /usr/local/mysql
./configure
結果發現生成不了makefile文件,Google發現MySQL從5.5開始需要使用cmake來編譯,於是走第四步
4.下載cmake-2.8.11.2.tar.gz,解壓並安裝cmake
tar zxvf cmake-2.8.11.2.tar.gz
cd /var/lib/ureadahead/debugfs/cmake-2.8.11.2
./configure
make
make install
make
make install
在安裝cmake的過程當中,遇到了一個麻煩
root@ubuntu:/var/lib/ureadahead/debugfs/cmake-2.8.11.2# ./configure
---------------------------------------------
CMake 2.8.11.2, Copyright 2000-2012 Kitware, Inc.
C compiler on this system is: cc
---------------------------------------------
Error when bootstrapping CMake:
Cannot find appropriate C++ compiler on this system.
Please specify one using environment variable CXX.
See cmake_bootstrap.log for compilers attempted.
---------------------------------------------
Log of errors: /var/lib/ureadahead/debugfs/cmake-2.8.11.2/Bootstrap.cmk/cmake_bootstrap.log
---------------------------------------------
根據前人經驗,這是缺少c++編譯器造成的,於是安裝g++
sudo apt-get install g++
遺憾的是,依然報錯,懷疑是gcc庫沒有下載,直接到ubuntu的更新安裝包的窗口更新所有安裝包,更新完後,重新在cmake目錄./configure,成功生成makefile文件
make
make install
安裝好cmake後,給MySQL增加data目錄和添加用戶
mkdir -p /usr/local/mysql/data/
groupadd mysql
useradd -r -g mysql mysql
到MySQL的目錄下使用cmake編譯生成MySQL的makefile
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
報錯了
-- Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:127 (FIND_CURSES)
cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:268 (MYSQL_CHECK_READLINE)
-- Configuring incomplete, errors occurred!
缺少libnureses5-dev庫,下載安裝一下
sudo apt-get install libncurses5-dev
報錯
dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
根據Stack Overflow的牛人解答,使用下面的方式來下載安裝libnureses5-dev庫
sudo aptitude install libncurses5-dev
繼續報錯
dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
另一位牛人提示還需要清空dpkg的更新目錄
rm -rf /var/lib/dpkg/updates
再下載安裝libnureses5-dev庫,還是報錯
Do you want to continue? [Y/n/?] y
Writing extended state information... Done
dpkg: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install. Trying to recover:
dpkg: cannot scan updates directory `/var/lib/dpkg/updates/': No such file or directory
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
很明顯,剛纔我清理dpkg數據的時候,把updates目錄也幹掉了
mkdir -p /var/lib/dpkg/updates
再下載安裝,success,清除cmake編譯過程產生的信息
rm -f CMakeCache.txt
再重新執行cmake編譯過程,報
Warning: Bison executable not found in PATH
需要下載安裝bison庫
sudo aptitude install bison
安裝ok,此時,可以發現mysql目錄下已經生成makefile文件
make
make install
設置目錄權限
chown root:mysql * -R
chown mysql:mysql data -R
將mysql的啓動服務添加到系統服務中
cp support-files/my-medium.cnf /etc/my.cnf
創建系統數據庫表
scripts/mysql_install_db --user=mysql
設置環境變量
vi /root/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
source /root/.bash_profile
啓動MySQL
./bin/mysqld_safe --user=mysql &
大功告成