MariaDB Mysql共存

MariaDB为可替代MySQL的增强版本, 但在已安装了mysql的情况下同时也能安装MariaDB. (这是有意义的, 例如你想从一个数据库/应用迁移到另一个数据库/应用中.)

以下是在已安装MySQL的情况下,安装MariaDB的主要步骤.

  • 下载最新版本的二进制编译包tar.gz (目前为mariadb-5.5.24-linux-x86_64.tar.gz),并将它解压到你的自定义目录中. 本文档假定安装目录为/opt.
[plain]  view plain  copy
  1. [root@mariadb-near-mysql ~]# cat /etc/issue  
  2. CentOS release 6.2 (Final)  
  3.   
  4. [root@mariadb-near-mysql ~]# rpm -qa mysql*  
  5. mysql-5.1.61-1.el6_2.1.x86_64  
  6. mysql-libs-5.1.61-1.el6_2.1.x86_64  
  7. mysql-server-5.1.61-1.el6_2.1.x86_64  
  8.   
  9. [root@mariadb-near-mysql ~]# ps axf | grep mysqld  
  10.  2072 pts/0    S+     0:00          \_ grep mysqld  
  11.  1867 ?        S      0:01 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock ...  
  12.  1974 ?        Sl     0:06  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql ...  

  • 创建数据所在目录及符号链接,如下所示:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# mkdir mariadb-data  
  2. [root@mariadb-near-mysql opt]# ln -s mariadb-5.5.24-linux-x86_64 mariadb  
  3. [root@mariadb-near-mysql opt]# ls -al  
  4. total 20  
  5. drwxr-xr-x.  5 root root 4096 2012-06-06 07:27 .  
  6. dr-xr-xr-x. 23 root root 4096 2012-06-06 06:38 ..  
  7. lrwxrwxrwx.  1 root root   27 2012-06-06 07:27 mariadb -> mariadb-5.5.24-linux-x86_64  
  8. drwxr-xr-x. 13 root root 4096 2012-06-06 07:07 mariadb-5.5.24-linux-x86_64  
  9. drwxr-xr-x.  2 root root 4096 2012-06-06 07:26 mariadb-data  

  • 创建组mariadb及用户mariadb, 设置文件对应的所属权限:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# groupadd --system mariadb  
  2. [root@mariadb-near-mysql opt]# useradd -c "MariaDB Server" -d /opt/mariadb -g mariadb --system mariadb  
  3. [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-5.5.24-linux-x86_64/  
  4. [root@mariadb-near-mysql opt]# chown -R mariadb:mariadb mariadb-data/  

  • 通过从support-files中拷贝my.cnf, 在/opt/mariadb目录下创建新的my.cnf:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf  
  2. [root@mariadb-near-mysql opt]# chown mariadb:mariadb mariadb-data/my.cnf  

  • 编辑文件/opt/mariadb-data/my.cnf, 增加自定义值, socket, port, user及最重要的设置: data目录和base目录. 最后的设置至少是这样的:
[plain]  view plain  copy
  1. [client]  
  2. port            = 3307  
  3. socket          = /opt/mariadb-data/mariadb.sock  
  4.   
  5. [mysqld]  
  6. datadir         = /opt/mariadb-data  
  7. basedir         = /opt/mariadb  
  8. port            = 3307  
  9. socket          = /opt/mariadb-data/mariadb.sock  
  10. user            = mariadb  

  • 从support-files文件中拷贝init.d脚本到对应的位置:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb  
  2. [root@mariadb-near-mysql opt]# chmod +x /etc/init.d/mariadb  

  • 编辑/etc/init.d/mariadb,使用 
    mariadb替换
     mysql设置项, 如下所示:
[plain]  view plain  copy
  1. - # Provides: mysql  
  2. + # Provides: mariadb  
  3. - basedir=  
  4. + basedir=/opt/mariadb  
  5. - datadir=  
  6. + datadir=/opt/mariadb-data  
  7. - lock_file_path="$lockdir/mysql"  
  8. + lock_file_path="$lockdir/mariadb"  

最麻烦的步骤是该文件最后的修改. 你需要告诉mariadb读取唯一的cnf文件. 在$bindir/mysqld_safe之后加上--defaults-file=/opt/mariadb-data/my.cnf. 最后参数设置应该是这样的:

[plain]  view plain  copy
  1. # Give extra arguments to mysqld with the my.cnf file. This script  
  2. # may be overwritten at next upgrade.  
  3. $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:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# cd mariadb  
  2. [root@mariadb-near-mysql mariadb]# scripts/mysql_install_db --defaults-file=/opt/mariadb-data/my.cnf  

  • 现在你可以这样启动MariaDB:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# /etc/init.d/mariadb start  
  2. Starting MySQL...                                          [  OK  ]  

  • 把MariaDB启动设置为系统级别启动:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql opt]# cd /etc/init.d  
  2. [root@mariadb-near-mysql init.d]# chkconfig --add mariadb   
  3. [root@mariadb-near-mysql init.d]# chkconfig --levels 3 mariadb on  

  • 最后,测试现在有两个数据库服务实例在运行:
[plain]  view plain  copy
  1. [root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();"  
  2. +-----------+  
  3. | VERSION() |  
  4. +-----------+  
  5. | 5.1.61    |  
  6. +-----------+  
  7. [root@mariadb-near-mysql ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock  
  8. +----------------+  
  9. | VERSION()      |  
  10. +----------------+  
  11. | 5.5.24-MariaDB |  
  12. +----------------+  

如何升级MariaDB?

如果你想升级MariaDB,可通过/opt/mariadb-dat目录下的mariadb.socketmy.cnf及 databases, 完成以下步骤即可完成升级:

  • 从新版MariaDB包解压文件到/opt目录(可放到与当前版本所在目录的同级位置)
  • 停止运行当前MariaDB
  • 更改符号链接mariadb,使其指向新版本包所在的目录
  • 重新启动MariaDB
  • 运行升级脚本...但要记得提供socket选项: --socket=/opt/mariadb-data/mariadb.sock
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值