安裝版本:mysql-5.5.8.tar.gz
1、安裝 cmake 編譯器。
1)、下載cmake
#cd /usr/local/src
#wget http://www.cmake.org/files/v2.8/cmake-2.8.3.tar.gz
2)、解壓cmake
#tar -zvxf cmake-2.8.3.tar.gz
3)、配置編譯
#cd cmake-2.8.3
#yum -y install gcc
#yum -y install gcc-c++
#./configure
#make
#make install
2、安裝MySQL
1)、下載MySQL。
#cd /usr/local/src
#wget http://mirrors.ircam.fr/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.8.tar.gz
2)、添加必要的組和擁有者
#groupadd mysql
#useradd -r -g mysql mysql
3)、解壓MySQL
#tar -zvxf mysql-5.5.8.tar.gz
4)、配置編譯
#mkdir /usr/local/mysql
#mkdir /usr/local/mysql/data
#cd /usr/local/src/mysql-5.5.8
#cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_DATADIR=/usr/local/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1
參數(shù)說明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安裝目錄
-DINSTALL_DATADIR=/usr/local/mysql/data //數(shù)據(jù)庫存放目錄
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校驗(yàn)字符
-DEXTRA_CHARSETS=all //安裝所有擴(kuò)展字符集
-DENABLED_LOCAL_INFILE=1 //允許從本地導(dǎo)入數(shù)據(jù)
#make
#make install
注意事項(xiàng):
重新編譯時(shí),需要清除舊的對(duì)象文件和緩存信息。
# make clean
# rm -f CMakeCache.txt
4)、設(shè)置目錄權(quán)限
# cd /usr/local/mysql
# chown -R root:mysql . //把當(dāng)前目錄中所有文件的所有者所有者設(shè)為root,所屬組為mysql
# chown -R mysql:mysql data
5)、配置文件
# cp support-files/my-medium.cnf /etc/my.cnf //這個(gè)配置僅適合小內(nèi)存系統(tǒng)(32M - 64M)
打開如下注釋:
innodb_data_home_dir = /usr/local/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/data
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
添加默認(rèn)字符集:
[client]
default-character-set = utf8 // 添加編碼支持
[mysqld]
default-character-set = utf8 // 添加編碼支持
max_connections = 10000 //根據(jù)服務(wù)器性能調(diào)節(jié)
basedir = /usr/local/mysql //設(shè)置安裝目錄,這樣在系統(tǒng)啟動(dòng)時(shí)才能正確運(yùn)行到/etc/rc.d/init.d/mysql start
6)、創(chuàng)建系統(tǒng)數(shù)據(jù)庫的表
# cd /usr/local/mysql
# scripts/mysql_install_db --user=mysql
7)、設(shè)置權(quán)限啟動(dòng)
設(shè)置環(huán)境變量:
# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加參數(shù)為:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
手動(dòng)啟動(dòng)MySQL:
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql & //啟動(dòng)MySQL,但不能停止
啟動(dòng)日志寫在此文件下:/usr/local/mysql/data/localhost.err
關(guān)閉MySQL服務(wù)
# mysqladmin -u root -p shutdown //這里MySQL的root用戶還沒有配置密碼,所以為空值。
通過腳本啟動(dòng)MySQL:
# ln -s /usr/local/mysql/support-files/mysql.server /usr/local/mysql
//必須注意,是放在mysql目錄下,不是bin目錄下
# cp /usr/local/mysql/support-files/mysql.server /usr/local/mysql
# mysql.server start //啟動(dòng)mysql
# mysql.server stop //停止mysql
在引導(dǎo)時(shí)啟動(dòng)MySQL :
# ln -s /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
# ln -s /usr/local/mysql/mysql.server /etc/rc.d/init.d/mysql
# cd /etc/rc.d/init.d
# chkconfig --add mysql //配置是否自動(dòng)啟動(dòng), chkconfig --del mysql 可刪除
# chmod +x /etc/rc.d/init.d/mysql //添加如執(zhí)行權(quán)限
Linux運(yùn)行級(jí)別:
分成了8種運(yùn)行級(jí)別,其中常用7種??稍?etc/inittab文件中設(shè)置。
0 - halt
1 - Single user mode
2 - Multiuser, without NFS
3 - Full multiuser mode
4 - unused
5 - x11
6 - reboot
默認(rèn)設(shè)置為:id:3:initdefault:
每一種動(dòng)行級(jí)別都有自已獨(dú)立的文件夾,例如:
/etc/rc.d/rc3.d 表示運(yùn)行級(jí)別為3的配置都存放在這個(gè)文件俠中。
# chkconfig --list |grep mysql //檢查看是否設(shè)置為自啟動(dòng)
mysql 0:關(guān)閉 1:關(guān)閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關(guān)閉
表示: 運(yùn)行級(jí)別2、3、4、5都會(huì)自動(dòng)啟動(dòng)mysql
另一種手動(dòng)配置自已啟動(dòng):
可能會(huì)出現(xiàn)這種情況,如果你試圖在/etc/rc.d/rc3.d目錄下運(yùn)行../init.d/mysql start可能會(huì)收到如下錯(cuò)誤
Starting MySQLCouldn't find MySQL server (./bin/mysqld_safe[失敗]
可見mysql.server內(nèi)部引用了一個(gè)相對(duì)路徑./bin/mysqld_safe,所以這樣就導(dǎo)致失敗。
這樣我們可以直接在rc.local文件中添加啟動(dòng)腳本:
# chkconfig --del mysql
# cd /etc/rc.d
# vi rc.local //添加: /usr/local/mysql/bin/mysqld_safe --user=mysql &
解決辦法:在/etc/my.cnf 配置文件中添加:
basedir = /usr/local/mysql
8)、修改MySQL的root用戶的密碼:
# mysql -u root mysql
mysql>use mysql;
mysql>desc user;
mysql>update user set Password = password('xxxxxx') where User='root';
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit
重新登錄:mysql -u root -p
9)、添加軟鏈接
# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
注意事項(xiàng):
<1>、MySQL5.5 默認(rèn)使用InnoDB作為存儲(chǔ)引擎,所以可以不設(shè)置DWITH_MYISAM_STORAGE_ENGINE值
聯(lián)系客服