欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

安装MariaDB与MySQL并存

程序员文章站 2022-06-01 14:40:35
...

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

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

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

下载最新版本的二进制编译包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, 完成以下步骤即可完成升级:

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

MariaDB Proxy读写分离的实现

MariaDB 的详细介绍:请点这里
MariaDB 的下载地址:请点这里

本文永久更新链接地址:

安装MariaDB与MySQL并存