Env: CentOS 5.5 x86_64 && Mysql-5.5.28
對於MYSQL的介紹不用多說,一箇中、小型關係型數據庫管理系統。跨多平臺,開發者爲瑞典MySQL AB公司,該公司於2008年被Sun收購,而2009年,SUN又被Oracle收購。
從MySQL5.5 開始就要用cmake安裝,so,這裏也用到了cmake
1、準備工作
groupadd mysql
useradd -r -g mysql mysql
mkdir /usr/local/mysql/ #創建mysql安裝目錄
mkdir /data/mysql #創建數據存放目錄
chown mysql:mysql -R /data/mysql
yum install -y gcc gcc-c++ libtool autoconf automake imake libxml2-devel expat-devel ncurses-devel cmake bison
wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz
2、解壓源碼包,編譯安裝
tar -zxvf mysql-5.5.28.tar.gz
cd mysql-5.5.28 #進入解壓後mysql目錄
cmake . \ #開始編譯
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝到/usr/local/mysql目錄
-DMYSQL_DATADIR=/data/mysql \ #數據存放到/data/mysql目錄
-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock \ #sock存放到/data/mysql目錄
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #innoDB引擎
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \ #字符集
-DDEFALUT_CHARSETS=all \ #支持所有字符集
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDEFAULT_COLLATION=utf8_general_ci \ #字符集校驗
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DMYSQL_TCP_PORT=3306 \
-DWITH_DEBUG=0\
make && make install #編譯通過過,安裝
3、初始化MySQL
cp support-files/my-medium.cnf /etc/my.cnf #複製配置文件
cp support-files/mysql.server /etc/init.d/mysqld #複製啓動腳本
chmod 755 /etc/init.d/mysqld
cd /usr/local/mysql #進入安裝目錄
./scripts/mysql_install_db --user=mysql --ldata=/data/mysql #初始化數據庫
/etc/init.d/mysqld start #啓動數據庫
4、MySQL配置
chkconfig --add mysqld #添加系統服務
chkconfig mysqld on #添加開機啓動
export PATH=$PATH:/usr/local/mysql/bin #添加環境變量
echo 'PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
service mysqld start/stop
補充:解決:Starting MySQL.. ERROR! The server quit without updating PID file (/opt/mysql/data/localhost.localdomain.pid).
我的安裝位置是/opt/mysql 所以數據庫文件存放位置是 /opt/mysql/data 我的兩個系統安裝時採用了以下步驟解決。
# cd /opt/mysql
# rm -rf data 將初始安裝時的數據庫文件夾刪除。
# ./scripts/mysql_install_db --user=mysql --ldata=/opt/mysql/data 重新初始化數據庫
# chown -R mysql:mysql /opt/mysql/data 再次確定這個目錄的mysql用戶權限。