安裝MariaDB與MySQL並存

來源:互聯網
上載者:User

安裝MariaDB與MySQL並存

MariaDB為可替代MySQL的增強版本, 但在已安裝了MySQL的情況下同時也能安裝MariaDB. (這是有意義的, 例如你想從一個資料庫/應用遷移到另一個資料庫/應用中.)

以下是在已安裝MySQL的情況下,安裝MariaDB的主要步驟.

下載最新版本的二進位編譯包tar.gz (目前為mariadb-5.5.24-linux-x86_64.tar.gz),並將它解壓到你的自訂目錄中. 本文檔假定安裝目錄為/opt.

[root@mariadb-near-mysql ~]# cat /etc/issue
CentOS release 6.2 (Final)

[root@mariadb-near-mysql ~]# rpm -qa mysql*
mysql-5.1.61-1.el6_2.1.x86_64
mysql-libs-5.1.61-1.el6_2.1.x86_64
mysql-server-5.1.61-1.el6_2.1.x86_64

[root@mariadb-near-mysql ~]# ps axf | grep mysqld
 2072 pts/0    S+    0:00          \_ grep mysqld
 1867 ?        S      0:01 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock ...
 1974 ?        Sl    0:06  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql ...

建立資料所在目錄及符號連結,如下所示:

[root@mariadb-near-mysql opt]# mkdir mariadb-data
[root@mariadb-near-mysql opt]# ln -s mariadb-5.5.24-linux-x86_64 mariadb
[root@mariadb-near-mysql opt]# ls -al
total 20
drwxr-xr-x.  5 root root 4096 2012-06-06 07:27 .
dr-xr-xr-x. 23 root root 4096 2012-06-06 06:38 ..
lrwxrwxrwx.  1 root root  27 2012-06-06 07:27 mariadb -> mariadb-5.5.24-linux-x86_64
drwxr-xr-x. 13 root root 4096 2012-06-06 07:07 mariadb-5.5.24-linux-x86_64
drwxr-xr-x.  2 root root 4096 2012-06-06 07:26 mariadb-data

建立組mariadb及使用者mariadb, 設定檔案對應的所屬許可權:

[root@mariadb-near-mysql opt]# groupadd --system mariadb
[root@mariadb-near-mysql opt]# useradd -c "MariaDB Server" -d /opt/mariadb -g mariadb --system mariadb
[root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-5.5.24-linux-x86_64/
[root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-data/

通過從support-files中拷貝my.cnf, 在/opt/mariadb目錄下建立新的my.cnf:

[root@mariadb-near-mysql opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
[root@mariadb-near-mysql opt]# chown mariadb:mariadb mariadb-data/my.cnf

編輯檔案/opt/mariadb-data/my.cnf, 增加自訂值, socket, port, user及最重要的設定: data目錄和base目錄. 最後的設定至少是這樣的:

[client]
port            = 3307
socket          = /opt/mariadb-data/mariadb.sock

[mysqld]
datadir        = /opt/mariadb-data
basedir        = /opt/mariadb
port            = 3307
socket          = /opt/mariadb-data/mariadb.sock
user            = mariadb

從support-files檔案中拷貝init.d指令碼到對應的位置:

[root@mariadb-near-mysql opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb
[root@mariadb-near-mysql opt]# chmod +x /etc/init.d/mariadb

編輯/etc/init.d/mariadb,使用 mariadb替換mysql設定項, 如下所示:

- # Provides: mysql
+ # Provides: mariadb
- basedir=
+ basedir=/opt/mariadb
- datadir=
+ datadir=/opt/mariadb-data
- lock_file_path="$lockdir/mysql"
+ lock_file_path="$lockdir/mariadb"

最麻煩的步驟是該檔案最後的修改. 你需要告訴mariadb讀取唯一的cnf檔案. 在$bindir/mysqld_safe之後加上--defaults-file=/opt/mariadb-data/my.cnf. 最後參數設定應該是這樣的:

# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --defaults-file=/opt/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &

顯式指定 my.cnf作為傳入參數,來運行mysql_install_db:

[root@mariadb-near-mysql opt]# cd mariadb
[root@mariadb-near-mysql mariadb]# scripts/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf

現在你可以這樣啟動MariaDB:

[root@mariadb-near-mysql opt]# /etc/init.d/mariadb start
Starting MySQL...                                          [  OK  ]

把MariaDB啟動設定為系統層級啟動:

[root@mariadb-near-mysql opt]# cd /etc/init.d
[root@mariadb-near-mysql init.d]# chkconfig --add mariadb
[root@mariadb-near-mysql init.d]# chkconfig --levels 3 mariadb on

最後,測試現在有兩個資料庫服務執行個體在運行:

[root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();"
+-----------+
| VERSION() |
+-----------+
| 5.1.61    |
+-----------+
[root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock
+----------------+
| VERSION()      |
+----------------+
| 5.5.24-MariaDB |
+----------------+

如何升級MariaDB?

如果你想升級MariaDB,可通過/opt/mariadb-dat目錄下的mariadb.socket, my.cnf及 databases, 完成以下步驟即可完成升級:

  • 從新版MariaDB包解壓檔案到/opt目錄(可放到與目前的版本所在目錄的同級位置)
  • 停止運行當前MariaDB
  • 更改符號連結mariadb,使其指向新版本包所在的目錄
  • 重新啟動MariaDB
  • 運行升級指令碼...但要記得提供socket選項: --socket=/opt/mariadb-data/mariadb.sock

在 CentOS/RHEL/Scientific Linux 6 下安裝 LAMP (Apache with MariaDB and PHP)

MariaDB Proxy讀寫分離的實現

MariaDB 的詳細介紹:請點這裡
MariaDB 的:請點這裡

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.