欢迎投稿

今日深度:

MariaDB系列—Linux下安装 MariaDB 并同时运行 MySQL,mariadbmysql

MariaDB系列—Linux下安装 MariaDB 并同时运行 MySQL,mariadbmysql


这里虽然介绍了这种方法,但不建议(非常不建议)在一台机器上既安装Mysql又安装MariaDB,因为这两个数据库有太多“共同点”(有一些相同的数据路径),很容易一个配置的变动导致另一个运行失败。

MariaDB 在安装的时候将会覆盖和删除当前安装的 MySQL,但是你还是可以让 MariaDB 和 MySQL 同时运行。 如果你希望一步一步的合并数据库或者应用程序,这个特性非常有用。

如果你希望在存在 MySQL 服务器上同时运行 MariaDB 数据库的步骤如下:

一、下载和编译包含有最新 MariaDB 版本的 tar.gz 二进制分发包,然后将文件解压到你选择的目录

[root@mariadb-server-01 ~]# cd /usr/local/src/
[root@mariadb-server-01 src]# wget http://112.17.13.205/files/80150000011E58EF/mirrors.neusoft.edu.cn/mariadb//mariadb-10.2.11/bintar-linux-x86_64/mariadb-10.2.11-linux-x86_64.tar.gz

[root@mariadb-server-01 src]# tar zxvf mariadb-10.2.11-linux-x86_64.tar.gz -C /usr/local/

:是二进制包,不是源码包

[root@mariadb-server-01 src]# cd ..
[root@mariadb-server-01 local]# mkdir mariadb-data
[root@mariadb-server-01 local]# ln -s mariadb-10.2.11-linux-x86_64/ mariadb

三、创建用户组 mariadb 和用户mariadb 然后修改文件的所有者

[root@mariadb-server-01 local]# groupadd -r mariadb
[root@mariadb-server-01 local]# useradd -c "MariaDB Server" -d /usr/local/mariadb -g mariadb -r mariadb

[root@mariadb-server-01 local]# chown -R mariadb:mariadb mariadb-10.2.11-linux-x86_64/
[root@mariadb-server-01 local]# chown -R mariadb:mariadb mariadb-data/

以上命令的参数解释请参考:useradd

四、从支持文件中在 /usr/local/mariadb 中创建新的 my.cnf 文件:

[root@mariadb-server-01 local]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
[root@mariadb-server-01 local]# chown mariadb:mariadb mariadb-data/my.cnf

五、编辑文件 /usr/local/mariadb-data/my.cnf 文件

编辑文件 /usr/local/mariadb-data/my.cnf , 加入自定义路径,通信协议,端口,用户和一些主要的配置信息,包括数据目录和基本路径。最终的文件结构至少具有下面的一些配置:

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

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

五、从支持文件中拷贝 init.d 脚本到正确的目录

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

六、编辑 /etc/init.d/mariadb 脚本,替换脚本中的 mysql 为 mariadb

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

关键的地方是这个文件的最后部分,你需要告诉 MariaDB 使用哪个 cnf 文件。 在 $bindir/mysqld_safe 后面的 start 部分,添加 --defaults-file=/usr/local/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=/usr/local/mariadb-data/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &

七、通过指派 my.cnf 参数来运行 mysql_install_db 命令

[root@mariadb-server-01 mariadb]# scripts/mysql_install_db --defaults-file=/usr/local/mariadb-data/my.cnf 

出现以下提示,说明安装数据库成功:

Installing MariaDB/MySQL system tables in '/usr/local/mariadb-data' ...
OK

八、现在你可以通过下面的方式来启动 MariaDB 数据库了

[root@mariadb-server-01 mariadb]# /etc/init.d/mariadb start
Reloading systemd:                                         [  确定  ]
Starting mariadb (via systemctl):                          [  确定  ]

九、让 MariaDB 的启动随着系统的启动而同时启动

[root@mariadb-server-01 mariadb]# cd /etc/init.d
[root@mariadb-server-01 init.d]# chkconfig --add mariadb 
[root@mariadb-server-01 init.d]# chkconfig --levels 3 mariadb on

关于 MariaDB 数据库更新

通过你已有在目录 /opt/mariadb-data 下的 mariadb.socket,my.cnf 和 databases文件,如果你希望更新你的 MariaDB 数据库,你需要进行下面的操作:


附、配置过程中出现的问题

1、初始化数据库时发生以下错误
/usr/local/mariadb/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

决解方法:

[root@mariadb-server-01 mariadb]# yum install libaio -y

www.htsjk.Com true http://www.htsjk.com/mariadb/35405.html NewsArticle MariaDB系列—Linux下安装 MariaDB 并同时运行 MySQL,mariadbmysql 这里虽然介绍了这种方法,但不建议(非常不建议)在一台机器上既安装Mysql又安装MariaDB,因为这两个数据库有太多“共同点”...
相关文章
    暂无相关文章
评论暂时关闭