CentOS 6.6下編譯安裝MariaDB-10.0.20
系統內容:CentOS6.6(Final)
MariaDB連接埠:3309 (因為本機原先已經裝的有MySQL了,還不想刪除MySQL)
#wget http://mariadb.nethub.com.hk//mariadb-10.0.20/source/mariadb-10.0.20.tar.gz
建立mariadb使用者
# groupadd -r mariadb
# useradd -g mariadb -r -M -s /sbin/nologin mariadb //這個mariadb使用者不能登入
相依元件
# yum -y install gcc gcc-c++ make cmake ncurses ncurses libxml2 libxml2-devel openssl-devel bison bison-devel
# tar zxvf mariadb-10.0.20.tar.gz
# cd mariadb-10.0.20
# cmake . -DMYSQL_UNIX_ADDR=/tmp/mariadb.sock -DSYSCONFDIR=/home/local/mariadb -DMYSQL_TCP_PORT=3309 -DEXTRA_CHARSETS=all -DMYSQL_USER=mariadb -DCMAKE_INSTALL_PREFIX=/home/local/mariadb -DMYSQL_DATADIR=/home/data/mariadb -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWIYH_READLINE=1 -DWIYH_SSL=system -DVITH_ZLIB=system -DWITH_LOBWRAP=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# make -j 4
# make install
把MariaDB服務加入系統內容變數:在最後添加下面這一行
# vim /etc/profile
export PATH=$PATH:/home/local/mariadb/bin
# source /etc/profile
複製設定檔
# cp /home/local/mariadb/support-files/my-large.cnf /home/local/mariadb/my.cnf
初始化資料庫
# /home/local/mariadb/scripts/mysql_install_db --basedir=/home/local/mariadb --datadir=/home/data/mariadb --user=mariadb --defaults-file=/home/local/mariadb/my.cnf
複製服務啟動指令碼
# cp /home/local/mariadb/support-files/mysql.server /etc/init.d/mariadb
# vim /etc/init.d/mariadb
找到
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
行,改為
$bindir/mysqld_safe --defaults-file=/home/local/mariadb/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
即添加了--defaults-file=/home/local/mariadb/my.cnf
儲存退出
# chmod +x /etc/init.d/mariadb
# chkconfig mariadb on
配置/home/local/mariadb/my.cnf
在[mysqld]模組添加下面的幾行:
log-error = /home/logs/mariadb_error.log
pid-file = /home/local/mariadb/mariadb.pid
user=mariadb
datadir = /home/data/mariadb
basedir = /home/local/mariadb
新增加mysqld_safe塊
[mysqld_safe]
log-error= /home/logs/mariadb_error.log
pid-file=/home/local/mariadb/mariadb.pid
啟動前修下目錄許可權
# chown -R mariadb:mariadb /home/data/mariadb
# chown -R mariadb:mariadb /home/data/mariadb/.
# chown -R mariadb:mariadb /home/local/mariadb
# chown -R mariadb:mariadb /home/local/mariadb/.
啟動MariaDB:
# /etc/init.d/mariadb start
註:如果啟動失敗,查看下/home/logs/mariadb_error.log檔案看報什麼錯,修正即可。
設定root的密碼
#/home/local/mariadb/bin/mysqladmin -u root password '123456'
進入MariaDB的shell下
[root@localhost mariadb]# /home/local/mariadb/bin/mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.0.20-MariaDB Source distribution
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show engines\G;
*************************** 1. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Percona-XtraDB, Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 2. row ***************************
Engine: MRG_MyISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
*************************** 9. row ***************************
Engine: FEDERATED
Support: YES
Comment: FederatedX pluggable storage engine
Transactions: YES
XA: NO
Savepoints: YES
*************************** 10. row ***************************
Engine: Aria
Support: YES
Comment: Crash-safe tables with MyISAM heritage
Transactions: NO
XA: NO
Savepoints: NO
10 rows in set (0.00 sec)
ERROR: No query specified
MariaDB [mysql]>use mysql; //選擇系統資料庫mysql
MariaDB [mysql]>select Host,User,Password from user; //查看所有使用者
MariaDB [mysql]>delete from user where password="";
MariaDB [mysql]>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456'; //為root添加遠端連線的能力
MariaDB [mysql]>flush privileges;
MariaDB [mysql]>select Host,User,Password from user; //確認密碼為空白的使用者是否已全部刪除
MariaDB [mysql]>exit;
設定防火牆,以便區域網路內的其它伺服器可以訪問
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3309 -j ACCEPT
/etc/init.d/iptables restart
Linux系統教程:如何檢查MariaDB服務端版本
MariaDB Proxy讀寫分離的實現
Linux下編譯安裝配置MariaDB資料庫的方法
CentOS系統使用yum安裝MariaDB資料庫
安裝MariaDB與MySQL並存
Ubuntu 上如何將 MySQL 5.5 資料庫遷移到 MariaDB 10
[翻譯]Ubuntu 14.04 (Trusty) Server 安裝 MariaDB