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

来源:互联网 发布:笔记本桌面激活windows 编辑:程序博客网 时间:2024/06/03 21:19

这里虽然介绍了这种方法,但不建议(非常不建议)在一台机器上既安装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            = 3307socket          = /usr/local/mariadb-data/mariadb.sock[mysqld]datadir         = /usr/local/mariadb-databasedir         = /usr/local/mariadbport            = 3307socket          = /usr/local/mariadb-data/mariadb.sockuser            = 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 startReloading 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. 加压最新的 MariaDB 数据版本到 /opt 目录中,不要覆盖已有的 MariaDB 目录,而是用新的目录
  2. 停止 MariaDB 进程
  3. 修改 MariaDB 的 symlink 链接到新目录。
  4. 启动 MariaDB 进程
  5. 运行升级脚本… 请记住,你需要提供 socket 选项 –socket=/opt/mariadb-data/mariadb.sock

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

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
原创粉丝点击