MySQL 5.6開始,需要使用g++進行編譯。
cmake? :MySQL 5.5開始,使用cmake進行工程管理,cmake需要2.8以上版本。
bison? :MySQL語法解析器需要使用bison進行編譯。
ncurses-devel :用于終端操作的開發包。
zlib? ? :MySQL使用zlib進行壓縮
有關庫包下載:
可以自己去官網下載,也可以去網盤下載
http://pan.baidu.com/s/1nuOm0fn
有關MySQL編譯參數:
CMAKE_BUILD_TYPE? ? ? ? ? ? 編譯的版本類型:RelWithDebInfo和Debug,不同之處是RelWithDebInfo會進行優化。
CMAKE_INSTALL_PREFIX? ? ? ? 指定make install安裝的目標路徑。
SYSCONFDIR? ? ? ? ? ? ? ? ? 指定配置文件的默認路徑。
MYSQL_DATADIR? ? ? ? ? ? ? 指定data目錄的默認路徑。
WITH_DEBUG? ? ? ? ? ? ? ? ? 指定是否有debugging信息,一般用于源碼調試時,打開WITH_DEBUG,生產環境關閉。
ENABLED_PROFILING? ? ? ? ? 指定是否可以使用show profile顯示操作執行的詳細信息。
DEFAULT_CHARSET? ? ? ? ? ? 指定默認字符集,可以在啟動的配置文件中指定。
DEFAULT_COLLATION? ? ? ? ? 指定默認字符比較、排序的規則。
WITH_EXTRA_CHARSETS? ? ? ? 指定其他可能使用的字符集。
WITH_SSL? ? ? ? ? ? ? ? ? ? 指定SSL的類型,從5.6.6開始默認bundled類型,此外也可以指定SSL庫的路徑地址。
WITH_ZLIB? ? ? ? ? ? ? ? ? 指定zlib的類型,用于壓縮功能。
ENABLED_LOCAL_INFILE? ? ? ? 指定是否允許使用load data infile功能。
WITH_EMBEDDED_SERVER? ? ? ? 指定是否編譯libmysqld嵌入式庫。
INSTALL_LAYOUT? ? ? ? ? ? ? 指定安裝的布局類型。
WITH_storage_STORAGE_ENGINE 指定編譯支持的存儲引擎,默認支持MyISAM,MERGE,MEMORY,CSV存儲引擎。
編譯安裝:
1.安裝必須的庫
通過YUM繼續安裝
gcc相關的包:yum install gcc*
yum install bison
yum install ncurses-devel
yum install zlib
Cmake由于CentOS6.3 yum中的Cmake版本為2.6而安裝MySQL需要2.8以上的版本因而Cmake采用源碼編譯安裝
(1)cmake安裝:
本次安裝采用的是cmake-2.8.5.tar.gz版本的包
tar -zxvf cmake-2.8.5.tar.gz
cd cmake-2.8.5./configure
make
make install
全部成功后輸入cmake --version命令
如果結果為:cmake version 2.8.5 則cmake安裝成功。
ps:如果沒有cmake的命令, 把bin下的cmake拷貝到/usr/bin/下
2.MySQL安裝
MySQL源碼安裝包:(本次安裝mysql 5.6.30版本)
mysql-5.6.30.tar.gz
tar -zxvf mysql-5.6.30.tar.gz
cd mysql-5.6.30#創建mysql目錄
mkdir-p /mysql/mkdir-p /mysql/date
groupadd mysql
useradd-r -g mysql mysql
cmake .-DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1make
make install
mysql安裝參數說明:
-DCMAKE_INSTALL_PREFIX------------------------安裝目錄
-DINSTALL_DATADIR-------------------------數據庫存放目錄
-DDEFAULT_CHARSET---------------------------使用utf8字符
-DDEFAULT_COLLATION----------------------------校驗字符
-DEXTRA_CHARSETS--------------------安裝所有擴展字符集
-DENABLED_LOCAL_INFILE------------允許從本地導入數據
PS:如果需要重新編譯的時候,需要舊的對象文件和緩存信息
make clean
rm-f CMakeCache.txt
rm-rf /etc/my.cnf
編譯安裝完成后
啟動mysql服務:
chown -R root:mysql /mysql
chown-R mysql:mysql /mysql/date/cd/mysql
scripts/mysql_install_db --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
vi /root/.bash_profile
在最后加上一行
PATH=$PATH:$HOME/bin:/mysql/bin:/mysql/lib
到目前為止mysql安裝工作就完成了
最后我們啟動mysql服務:
service mysqld start
(服務名根據cp support-files/mysql.server /etc/init.d/mysqld復制過去的名字為準)
顯示Starting MySQL.. SUCCESS! 則啟動成功
修改ROOT用戶密碼,修改遠程登錄權限:
登入mysql數據庫
mysql -uroot
#一開始默認密碼為空
如果出現?ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ 錯誤
解決方法如下
先查看報錯信息查找mysql.sock的位置,本次是位于/tmp/mysql.sock中
修改my.cnf文件
vi /etc/my.cnf
把mysqld中的socket目錄修改為/tmp/mysql.sock目錄。
然后重啟服務
service mysqld restart
在重新登錄mysql數據庫
mysql -uroot
登入之后
use mysql; #選取數據庫
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; #賦予遠程登錄權限
update user set Password = password(‘*********‘) where User=‘root‘; #修改root密碼*******替換為需要的密碼
flush privileges; #提交操作
之后root用戶登入mysql數據庫就需要密碼了
PS:遠程登錄如果無法登陸檢查一下服務器防火墻是否已經關閉
PS:如果不能遠程連接,出現錯誤mysql error number 1130,則加入下面語句試試:
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘******‘ WITH GRANT OPTION;
Linux(CentOS或RadHat)下MySQL源碼安裝
標簽:tar.gz???tmp???weight???baidu???strong???指定???engine???har???默認
本條技術文章來源于互聯網,如果無意侵犯您的權益請點擊此處反饋版權投訴
本文系統來源:http://www.cnblogs.com/soysaucejyz/p/6118311.html