環境介紹mysql
cat /etc/redhat-release sql
uname -a
shell
安裝 lrzsz 軟件,這個軟件和編譯安裝 mysql 無關,只是爲了方便後面經過 xshell 拖拽其餘軟件vim
yum -y install lrzszapp
安裝 mysql 須要的各類依賴包ide
yum -y install ncurses-devel libaio-devel測試
建立 /home/yuci/tools 目錄,用於存放各類軟件spa
mkdir -p /home/yuci/tools
命令行
安裝 Cmake 軟件,mysql 就是經過它編譯安裝的3d
cd /home/yuci/tools/
tar zxf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure && gmake && gmake install
# 經過 echo $? 檢查是否安裝成功,返回值爲 0,則正確安裝。
爲 mysql 建立一個同名的僞用戶,並檢查
useradd -s /sbin/nologin -M mysql
id mysql
編譯安裝 MySQL
# 在測試安裝 mysql 時發現一個問題,經過 open live writer 複製參數編譯失敗,可是經過網頁卻編譯成功,我以爲確定時複製粘貼時「-」出了問題。個人參數確定是沒有錯的,若是編譯過程當中出現報錯就手工敲一遍,準保沒問題。
tar zxf mysql-5.5.23
cd mysql-5.5.23
####################編譯安裝參數#########################
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.23 \
-DMYSQL_DATADIR=/application/mysql-5.5.23/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.23/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gks,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DBBUG=0
########################################################
make && make install
# 經過 echo $? 檢查是否安裝成功,返回值爲 0,則正確安裝。
給 mysql 建立一個軟鏈接,方便後面的操做
ln -s /application/mysql-5.5.23/ /application/mysql
初始化 mysql
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
給 mysql 目錄受權
chown -R mysql:mysql /application/mysql
拷貝 MySQL 的配置文件。my.cnf
cp /application/mysql/support-files/my-small.cnf /etc/my.cnf
y
mysqld_safe 是 mysql 的啓動腳本,默認的 mysql 安裝位置是 /usr/local/mysql ,可是咱們的安裝路徑是 /application/mysql,因此須要經過 sed 更改一下
sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysql
嘗試啓動 mysql 並放入後臺執行
/application/mysql/bin/mysqld_safe &
經過 lsof 命令,檢查 3306 端口是否啓動
lsof –i :3306
經過 netstat 命令,再次確認 mysql 已經正常運行
netstat –tlunp
如今 mysql 啓動了,可是還須要配置環境變量,才能登錄 mysql
#編輯 /etc/profile 文件,將下面的變量命令寫在文件的最後一行便可,而後執行 source 使其生效
vim /etc/profile
PATH="/application/mysql/bin:$PATH"
source /etc/profile
如今嘗試在命令行下登陸 mysql
mysql
拷貝 mysql 的啓動腳本,修改裏面的安裝路徑,添加執行權限,方便 mysql 的重啓
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
經過 killall 命令,將 mysql 進程殺死,直到出現 no process killed
killall mysqld
接下來經過剛纔拷貝的腳本啓動 mysql 服務
/etc/init.d/mysqld start
在經過 lsof,netstat 命令查看 mysql 是否啓動
lsof –i :3306
netstat –tlunp
最後給 mysql 管理員設定一個密碼
mysqladmin –uroot password 「123456」
正常登陸 mysql,編譯安裝完成