热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

MariaDB为可替代MySQL的增强版本,但在已安装了MySQL的情况下同时也能安装MariaDB.(这是有意义的,例如你想从一个数据库/应用迁移到另一个数据库/应用中.)以下是在已安装MySQL的情况下,安装MariaDB的主要步骤.下载最新版本的二进制编译包tar.gz(目前为mar

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


推荐阅读
  • 1.ATP方式安装在ubuntu系统的apt软件仓库中,默认存在MySQL数据库,所以直接使用apt命令就可以安装。使用命令:aptapt-getin ... [详细]
  • 如何利用 Myflash 解析 binlog ?
    本文主要介绍了对Myflash的测试,从准备测试环境到利用Myflash解析binl ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux环境中使用Mysql数据库
    Linux下Mysql数据库MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司,目前属于Oracle公司,MySQL被广泛地应用在I ... [详细]
  • Centos7安装MySql5.6
    如何在CentO ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • centos7如何利用yum安装mysql 8.0.12
    这篇文章将为大家详细讲解有关centos7如何利用yum安装mysql8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux下安装依赖包版本高解决方法
    本文介绍了在Linux系统下,当已安装的依赖包版本高于需要安装的依赖包版本时,解决方法包括欺骗安装程序和修改相关配置文件等操作。针对不同情况,提供了不同的解决方案。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
author-avatar
鑫瑜Twinkle
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有