在Centos中安装Mariadb和Mysql

时间:2020-03-05 15:31:07  来源:igfitidea点击:

MariaDB是MySQL关系数据库管理系统的社区开发分支,旨在在gnugpl下保持免费。
我们可以使用该链接了解有关MariaDB及其特性的更多信息。

如果我们想在不丢失MySQL的情况下尝试MariaDB,那么下面是与MySQL一起运行MariaDB的教程。

让我们从安装Mariadb和Mysql的步骤开始

  • 下载最新版本(mariadb-10.0.20-linux-i686).tar.gz-从这里提取/opt目录中的文件。
  • 创建用于存储mariadb数据的目录
[root@theitroad opt]# mkdir mariadb-data
  • 创建从mariadb-10.0.20-linux-i686到mariadb的符号链接
[root@theitroad opt]# ln -s mariadb-10.0.20-linux-i686 mariadb
[root@theitroad opt]# ls -al
total 32
lrwxrwxrwx  1 root       root         26 Jun 24 10:06 mariadb -> mariadb-10.0.20-linux-i686
drwxr-xr-x 12 mariadb    mariadb    4096 Jun 24 10:05 mariadb-10.0.20-linux-i686
drwxr-xr-x  9 mariadb    mariadb    4096 Jun 24 09:42 mariadb-data
  • 创建组mariadb和用户mariadb并设置正确的所有权:
[root@theitroad opt]# groupadd --system mariadb
[root@theitroad opt]# useradd -c "MariaDB User" -d /opt/mariadb -g mariadb --system mariadb
[root@theitroad opt]# chown -R mariadb:mariadb mariadb-10.0.20-linux-i686/
[root@theitroad opt]# chown -R mariadb:mariadb mariadb-data/
  • 创建新的我的.cnf在支持文件的/opt/mariadb中:
[root@theitroad opt]# cp mariadb/support-files/my-medium.cnf mariadb-data/my.cnf
[root@theitroad opt]# chown mariadb:mariadb mariadb-data/my.cnf
  • 编辑文件/opt/mariadb data/我的.cnf. 我们需要添加自定义路径,套接字,端口,用户,数据目录和基目录。最后,文件应该如下所示:
[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
  • 将init.d脚本从支持文件复制到正确的位置:
[root@theitroad opt]# cp mariadb/support-files/mysql.server /etc/init.d/mariadb
[root@theitroad 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 add后面的start部分中--defaults file=/opt/mariadb data/我的.cnf. 最后,线条应该如下所示:
# Give extra arguments to mysqld with the my.cnf file. This script
# Jan 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 &
  • 在wait _for _ready()函数中,需要对下面的mysqladmin命令进行相同的更改,以便mariadb start命令可以正确地侦听服务器启动。在wait _for _ready()函数中,在$bindir/mysqladmin add--defaults file=/opt/mariadb data之后/我的.cnf. 线条应该如下所示:
wait_for_ready () {
[...]
    if $bindir/mysqladmin --defaults-file=/opt/mariadb-data/my.cnf ping >/dev/null 2>&1; then
  • 通过显式地给mysql_install_db我的.cnf文件作为参数:
[root@theitroad opt]# cd mariadb
[root@theitroad 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@theitroad opt]# cd /etc/init.d
[root@theitroad init.d]# chkconfig --add mariadb
[root@theitroad init.d]# chkconfig --levels 3 mariadb on
  • 最后测试两个实例是否都在运行:
[root@theitroad ~]# mysql -e "SELECT VERSION();"
5.5.32
[root@theitroad ~]# mysql -e "SELECT VERSION();" --socket=/opt/mariadb-data/mariadb.sock
10.0.20