在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