`
836811384
  • 浏览: 549303 次
文章分类
社区版块
存档分类
最新评论

【MariaDB】安装MariaDB,与MySQL并存

 
阅读更多

原文链接:https://mariadb.com/kb/en/installing-mariadb-alongside-mysql/

xiaomo译------


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.cnfdatabases,完成以下步骤即可完成升级:

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


分享到:
评论

相关推荐

    一台主机安装MariaDB与MySQL同时运行

    MySQL集群(一台主机安装MariaDB与MySQL同时运行) 以下是在已安装MySQL的情况下,安装MariaDB的主要步骤. [root@mariadb-near-mysql ~]# cat /etc/issue CentOS release 6.2 (Final) [root@mariadb-near-...

    mysql8.0审计日志插件mariaDb安装失败记录

    mysql8.0审计日志插件mariaDb安装失败记录 记录安装过程,失败原因

    浅谈MySQL和MariaDB区别(mariadb和mysql的性能比较)

    MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品

    MariaDB(MySQL)数据库连接驱动。

    MariaDB数据库,完全兼容MySQL。 Delphi 等编译型语言连接MariaDB数据库需要使用的DLL 网上很难找到,我找了很久才找到。 版本:win32 : 3.1.4 win64 : 3.2.3 将对应的32位或者64位DLL放到执行文件目录中或者...

    阿里云 mariadb安装配置

    阿里云服务器上,从mysql 切换为 mariadb需要的安装步奏及配置,已经java代码中的修改

    MariaDB and MySQL common Table Expressions and Window Functions Revealed

    MariaDB and MySQL Common Table Expressions and Window Functions Revealed introduces and explains CTEs and window functions, newly available in MariaDB 10.2 and MySQL 8.0, and helps you understand why ...

    MYSQL与MARIADB学习指南-源SQL

    书籍《MYSQL与MARIADB学习指南》中从官方下载的SQL文件

    Qt6的64位MySQL/MariaDB驱动

    在Qt6下编译的MySQL/mariaDB驱动,安装方法参见 https://blog.csdn.net/a3573/article/details/105297367

    MariaDB(mariadb-10.6.8.tar.gz)源码

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

    MariaDB 源码(mariadb-10.6.7.tar.gz)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

    MariaDB(mariadb-10.6.8-linux-systemd-x86_64.tar.gz)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

    mariadb安装教程

    mariadb安装教程

    mariadb-10.4.25-winx64.msi

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL

    database-mariadb-10.3.7.zip

    mariadb是MySQL的一个分支,是由开发MySQL的团队成员之一,分离后开发的数据库产品,用法和MySQL完全一致,并且mariadb安装起来要比MySQL更不容易出现环境问题。

    java用于mysql、MariaDB 的数据库连接jar包

    包含了mysql-connector-java-8.0.27.jar 、mariadb-java-client-2.7.3.jar与c3p0-0.9.5.5 的相关jar包

    mariadb-10.3.35-winx64.msi

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL

    MariaDB(mariadb-10.6.7-linux-systemd-x86_64.tar.gz)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

    MariaDB(mariadb-10.6.8-winx64.msi)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

    MariaDB(mariadb-10.6.7-winx64.msi)

    MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来...

Global site tag (gtag.js) - Google Analytics