由于現在網上吵吵的特别火說這個東西要去到MySQL 是以就拿過來玩一下 我選擇了源碼方式安裝 可以自定義編譯參數 自定義安裝目錄
源碼安裝系統需求:
1、cmake:所有平台的建構架構,從mysql 5.5開始使用cmake;
2、好的make程式:推薦GNU make 3.75或更新版本;
3、ANSI C++編譯器:GCC 4.2.1或更新版本,Sun Studio 12或更新版本,Visual Studio 2010或更新版本等;
4、Perl:如果需要運作測試腳本;
5、gunzip、tar:解壓、解包mysql源碼包
安裝依賴包:
<code>yum -y </code><code>install</code> <code>cmake </code><code>make</code> <code>gcc</code> <code>perl </code><code>gzip</code> <code>tar</code> <code>ncurses-devel libxml2-devel zlib-devel pcre-devel libaio-devel openssl-devel</code>
說明
作業系統:CentOS release 6.5 (Final) 32位
MariaDB目錄:/usr/local/mariamysql
MariaDB資料:/opt/data/mariamysql
準備篇
一、配置好IP、DNS 、網關,確定使用遠端連接配接工具能夠連接配接伺服器,伺服器yum指令可以正常使用
二、配置防火牆,開啟3306端口
IPTABLES -A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 3306 -j ACCEPT #允許3306端口通過防火牆
特别提示:有的說很多網友把這兩條規則添加到防火牆配置的最後一行,導緻防火牆啟動失敗,正确的應該是添加到預設的22端口這條規則的下面
/etc/init.d/iptables restart #最後重新開機防火牆使配置生效
<code>三、關閉SELINUX</code>
<code>vi /etc/selinux/config #SELINUX=enforcing #注釋掉 #SELINUXTYPE=targeted #注釋掉 SELINUX=disabled #增加 :wq! #儲存退出 shutdown -r now #重新開機系統</code>
四 、系統約定
MariaDB安裝包存放位置:/usr/local/src
MariaDB編譯安裝位置:/usr/local/mariamysql
MariaDB資料檔案位置:/opt/data/mariamysql
安裝篇
groupadd mysql
<code>useradd</code> <code>-M -s </code><code>/sbin/nologin</code> <code>-r -g mysql mysql</code>
mkdir -p /data/mariamysql
chown -R mysql:mysql /opt/data/mariamysql
mkdir -p /usr/local/mariamysql
cd /usr/local/src
tar -zxvf mariadb-10.0.15.tar.gz
cd mariadb-10.0.15
<code>cmake -DCMAKE_INSTALL_PREFIX=</code><code>/usr/local/mariamysql</code> <code>\</code>
<code>-DWITH_INNOBASE_STORAGE_ENGINE=1 \</code>
<code>-DDEFAULT_CHARSET=utf8 \</code>
<code>-DDEFAULT_COLLATION=utf8_general_ci \</code>
<code>-DWITH_EXTRA_CHARSETS=all \</code>
<code>-DCMAKE_C_FLAGS_RELWITHDEBINFO=</code><code>"-O3 -g"</code> <code>\</code>
<code>-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=</code><code>"-O3 -g"</code> <code>\</code>
<code>-DCMAKE_BUILD_TYPE=RelWithDebInfo \</code>
<code>-DCPACK_MONOLITHIC_INSTALL=1 \</code>
<code>-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \</code>
<code>-DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \</code>
<code>-DWITHOUT_NDBCLUSTER_STORAGE_ENGINE=1 \</code>
<code>-DENABLED_PROFILING=1 \</code>
<code>-DINNODB_PAGE_ATOMIC_REF_COUNT=1 \</code>
<code>-DWITH_DEBUG=0 \</code>
<code>-DWITH_INNODB_MEMCACHED=1 \</code>
<code>-DWITH_ZLIB=system \</code>
<code>-DWITH_SSL=system</code>
make && make install 編譯過程特别的漫長(虛拟機1G記憶體)
cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
cp support-files/mysql.server.sh /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld(之後需要配置mysqld裡邊的一些參數 才能用這個mysqld啟動)
/usr/local/mariamysql/scripts/mysql_install_db --basedir=/usr/local/mariamysql/ --datadir=/opt/data/mariamysql/data/ --user=mysql
/usr/local/mariamysql/bin/mysqld_safe --user=mysql --basedir=/usr/local/mariamysql --datadir=/opt/data/mariamysql &
/usr/local/mariamysql//bin/mysqladmin -u root password 'new-password'
export PATH=$PATH:/usr/local/mariamysql/bin
[root@localhost mariamysql]# ps -ef |grep mysqld
root 25494 1 0 11:09 pts/1 00:00:00 /bin/sh /usr/local/mariamysql/bin/mysqld_safe --datadir=/opt/data/mariamysql --pid-file=/opt/data/mariamysql/hack.pid
mysql 25719 25494 55 11:10 pts/1 00:01:01 /usr/local/mariamysql/bin/mysqld --basedir=/usr/local/mariamysql --datadir=/opt/data/mariamysql --plugin-dir=/usr/local/mariamysql/lib/plugin --user=mysql --log-error=/opt/data/mariamysql/hack.err --open-files-limit=8192 --pid-file=/opt/data/mariamysql/hack.pid --socket=/tmp/mysql.sock --port=3306
root 25908 1509 1 11:11 pts/1 00:00:00 grep mysqld
[root@localhost mariamysql]#
[root@localhost src]# mysql -uroot -p123abc
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.0.15-MariaDB-log MariaDB Server
Copyright (c) 2000, 2014, Oracle, SkySQL Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
| information_schema |
| mysql |
| performance_schema |
| test |
4 rows in set (0.01 sec)
MariaDB [(none)]><code>DELETE FROM MYSQL.USER WHERE PASSOWRD = '' OR USER = ''</code>
<code>MariaDB [(none)]>DROP DATABASE TEST;</code>
<code>MariaDB [(none)]>FLUSH PRIVILEGES;</code>
至此安裝完成
說明:
mysql_install_db在安裝目錄建立一個預設配置檔案my.cnf,配置檔案基于源碼包的my-default.cnf為 模闆。初始化授權表(包含root和匿名賬戶,預設沒有密碼),建立預設資料庫(mysql、test)等。使用--random-passwords, 可以為root賬戶設定随機密碼,并設定過期時間,删除匿名賬戶。
驗證mysql服務是否可用:
shell> bin/mysqladmin version
shell> bin/mysqladmin variables
shell> bin/mysqlshow
關閉mysql服務:
shell> bin/mysqladmin -u root shutdown
cmake . -L :檢視預設配置參數
cmake . -LH:顯示預設配置參數和幫助說明
cmake . -LAH:顯示所有參數和幫助說明
ccmake . :互動式顯示
如遇到cmake錯誤,在重新cmake時需要删除源碼目錄的CMakeCache.txt檔案:
make clean
rm -f CMakeCache.txt
make install:預設安裝到/usr/local/mysql目錄,使用make install DESTDIR="/opt/mysql"可以指定特殊的目錄
make package:預設産生多個類似官方釋出的二進制包,如果指定Cmake參數-DCPACK_MONOLITHIC_INSTALL=1,将隻産生一個檔案
mysql配置參數:
-DBUILD_CONFIG=mysql_release :同官方二進制版本建構參數
-DCMAKE_INSTALL_PREFIX=dir_name :指定安裝目錄,同--basedir啟動參數
-DINSTALL_LAYOUT=name :選擇一個預定義的安裝布局,STANDALONE,同.tar.gz和.zip包,預設;RPM,類型RPM包
-DMYSQL_DATADIR=dir_name :指定mysql資料目錄,同--datadir啟動參數
-DSYSCONFDIR=dir_name :my.cnf配置檔案目錄
存儲引擎能建構成靜态模闆,編譯到mysql服務中,或者建構成動态模闆,必須使用INSTALL PLUGIN或--plugin-load選項進行插件安裝。有些插件可能不支援靜态或動态建構。MyISAM、MERGE、MEMORY和CSV總是編 譯到mysql服務中,不需要指定。
-DWITH_INNOBASE_STORAGE_ENGINE=1 :将innodb存儲引擎靜态編譯到mysql服務中
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 :排除編譯EXAMPLE
-DDEFAULT_CHARSET=charset_name :設定伺服器字元集,預設使用latin1,可用值可以檢視源碼包下cmake/character_sets.cmake檔案的 CHARSETS_AVAILABLE值,同使用--character_set_server選項
-DDEFAULT_COLLATION=collation_name :設定校隊集,預設使用latin1_swedish_ci,同參數--collation_server選項
-DENABLED_LOCAL_INFILE=bool :是否啟用用戶端庫LOAD DATA INFILE功能
-DENABLED_PROFILING=bool :是否啟用查詢性能分析(show profile和show profiles)
-DINNODB_PAGE_ATOMIC_REF_COUNT=bool :是否啟用或禁用原子頁面引用計數,跟蹤buffer池中的頁狀态是很昂貴和複雜的。
-DWITH_EXTRA_CHARSETS=name :額外的字元集設定,允許的值all,complex,none
-DWITH_INNODB_MEMCACHED=bool :是否生成memcached共享庫(libmemcached.so和innodb_engine.so)
-DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g" :使用O3進行優化
本文轉自 aklaus 51CTO部落格,原文連結:http://blog.51cto.com/aklaus/1599224