安裝要求:
目錄安裝在/usr/local/mysql
資料目錄在/data/mysql/data
源碼編譯安裝
環境準備:
# yum -y install make cmake gcc-c++ bison-devel ncurses-devel readline-devel
# yum install openssl openssl-devel zlib-devel
# mv /etc/my.cnf{,_bak}
下載下傳,解壓:
如果系統有安裝mysql,最好先處理
配置編譯安裝:
# pwd
/usr/local/src/mysql-5.6.15
# ccmake . 或 # cmake . -LH//檢視編譯可選項
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15 \
-DMYSQL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=yes -DWIHT_ZLIB=yes

以上是編譯成功的提示,但有幾個指定的功能未被使用,先安裝吧,要花費一些時間:
# make && make install
如果出錯,要清除舊的編譯配置,再編譯:
# rm -f CMakeCache.txt
初始化mysql:
# useradd -r -M -s /sbin/nologin mysql //建立mysq系統使用者
# cd /usr/local
# ln -sv mysql-5.6.15 mysql
# mv mysql/my.cnf{,_bak}
# cd mysql
# chown -R mysql:mysql .
# mkdir -p /data/mysql/data
# chown -R mysql:mysql /data/mysql/data
#./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql //将在/usr/local/mysql/目錄下生成my.cnf配置檔案
# ln -sv /usr/local/mysql/bin/mysql /usr/bin/mysql
也可以使用/usr/local/mysql/bin/mysql_secure_installation腳本做一些安全配置:root密碼,遠端登陸,匿名使用者删除,test庫删除
# /usr/local/mysql/bin/mysqladmin -u root password 'xxx' //為root使用者設定密碼,預設沒有密碼
> DROP USER ‘’@localhost;//删除匿名使用者
控制腳本及開機自啟動處理、啟動服務:
# pwd
/usr/local/mysql
# cp support-files/mysql.server /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql
# service mysql start啟動成功
注:1. mysql服務使用的配置檔案查找順序:/etc/my.cnf----->/etc/mysql/my.cnf------>安裝目錄下的my.cnf------->mysql使用者家目錄下my.cnf
2. 服務使用service控制啟動,實質上是執行bin/mysqld_safe指令
其他檔案處理(非必需):
//配置環境變量
# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
# source /etc/profile
//庫檔案添加
# echo "/usr/local/mysql/lib/" > /etc/ld.so.conf.d/mysql.conf
# ldconfig
//頭檔案添加
# ln -sv /usr/local/mysql/include /usr/include/mysql
//man幫助檔案添加
# echo "MANDATORY_MANPATH /usr/local/mysql/man" >> /etc/man_db.conf
檢視已編譯選項:
編譯安裝後會在安裝目錄下生成的bin/mysqlbug,檢視該檔案配置字段即可
# cat /usr/local/mysql/bin/mysqlbug |grep CONFIGURE_LINE
或# mysql_config 指令直接檢視,主要是庫檔案檢視
常用編譯配置選項說明:
#cmke . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15//軟體安裝位置
-DMYSQL_DATADIR=/data/mysql/data//資料檔案位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock//Unix socket檔案位置
-DSYSCONFDIR=/etc//配置檔案my.cnf位置
-DMYSQL_TCP_PORT=3306//服務端口,預設的也是3306
-DWITH_MYISAM_STORAGE_ENGINE=1//啟用myisam存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1//啟用innodb存儲引擎
-DWITH_MEMORY_STORAGE_ENGINE=1//啟用memory存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1//啟用archive存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1//啟用blackhole(黑洞)存儲引擎
-DWITH_PARTITION_STORAGE_ENGINE=1//啟用支援資料庫分區
-DENABLED_LOCAL_INFILE=1//允許從本地導入資料
-DWITH_READLINE=1//批量導入資料
-DEXTRA_CHARSETS=all//安裝所有字元集
-DDEFAULT_CHARSET=utf8//預設字元
-DDEFAULT_COLLATION=utf8_general_ci//校驗字元
-DWITH_SSL=yes
-DWIHT_ZLIB=yes
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1//不啟用
-DWITH_LIBWRAP=0//不啟用基于wrap的通路控制
-DENABLE_PROFILING=1//啟用性能分析功能
-DWITH_DEBUG=0//不啟用DEBUG功能
cmake與configure編譯配置的對比
configure | cmake | |
原理 | 執行configure腳本,生成Makefile檔案 | 根據CMakeLists.txt生成CMakeCache.txt檔案 |
執行方式 | # ./configure | # cmake . |
配置選項檢視 | # ./configure --help | #ccmake . 或 # cmake . -LH (先檢查後輸出) |
常用選項對比 | --prefix=/usr/local/xxxx | -DCMAKE_INSTALL_PREFIX=/usr/local/xxxx |
--with選項 | -DWIHT_xxxxx=1和-DWIHTOUT_xxxx=1 | |
--enable選項 | -DENABLE_xxxx=1 | |
二次配置處理 | # make clean | # rm -f CMakeCace.txt |
其他 | 使用#ccmake . GUI界面配置選項和檢查 | |
通用二進制包安裝
# mkdir -p /data/mysql/data
# useradd -r -M -s /sbin/nologin -d /data/mysql mysql
# chown -R mysql:mysql /data/mysql/data
# mv /etc/my.cnf{,_bak}
二進制tar包處理
# tar xf /usr/local/src/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.6.21-linux-glibc2.5-x86_64 mysql
# cd mysql
# chown -R mysql:mysql .
資料庫初始化:
# pwd
/usr/local/mysql
# mv my.cnf{,_bak}
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql
其他操作和編譯安裝一樣,通用二進制包就是源碼編譯好的包,隻要修改成适合于系統環境的就可以了
修改配置檔案,加上基礎配置:
# vim /usr/local/mysql/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
port=3306
server_id=1
socket=/tmp/mysql.sock
複制service控制檔案,啟動mysql時報錯:
造成以上原因可能有:
1.檔案權限不足
2.機器上之前安裝過mysql,找出mysql-bin.index檔案,删除即可
3.配置檔案問題,my.cnf沒有指定datadir或是啟用了skip-deferated字段,配置不正确也會出現這種問題
RPM包安裝
先檢查系統是否已安裝,有則解除安裝
#yum list installed |grep mysql
#rpm -qa | grep mysql
#rpm -e --nodeps mysql
# yum install mysql mysql-server mysql-command mysql-devel
# rpm -ivh mysql.5.6.12.rpm