centos7下安装MariaDB

基于centos7安装MariaDB
环境:centos7.2 x86_64
mariadb-10.3.12.tar.gz
操作步骤如下:
1、查看默认数据库配置文件

find -H /etc/ | grep my.c

2、删除默认数据库配置文件

rm -rf /etc/my.cnf /etc/my.cnf.d/

3、再次查看默认数据库配置文件,确保系统最小化安装自带的数据库配置文件已经删除干净了

find -H /etc/ | grep my.c

4、卸载系统自带mariadb-libs

查询:rpm -qa|grep mariadb-libs
卸载(查询无果可忽略此操作):rpm -e  *****lib文件(即查询结果全名称)*** --nodeps

5、安装相关包

[root@localhost ~]# yum -y install libaio 
[root@localhost ~]# yum -y install libaio-devel 
[root@localhost ~]# yum -y install bison 
[root@localhost ~]# yum -y install bison-devel 
[root@localhost ~]# yum -y install zlib-devel 
[root@localhost ~]# yum -y install openssl
[root@localhost ~]# yum -y install openssl-devel 
[root@localhost ~]# yum -y install ncurses 
[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# yum -y install libcurl-devel
[root@localhost ~]# yum -y install libarchive-devel 
[root@localhost ~]# yum -y install boost 
[root@localhost ~]# yum -y install boost-devel 
[root@localhost ~]# yum -y install lsof 
[root@localhost ~]# yum -y install wget
[root@localhost ~]# yum -y install gcc 
[root@localhost ~]# yum -y install gcc-c++
[root@localhost ~]# yum -y install make
[root@localhost ~]# yum -y install cmake
[root@localhost ~]# yum -y install perl
[root@localhost ~]# yum -y install kernel-headers
[root@localhost ~]# yum -y install kernel-devel 
[root@localhost ~]# yum -y install pcre-devel
不知道可不可以一次性执行,我做的时候是一条条的操作的

6、创建目录存放安装包

mkdir -p /opt/soft/mariadb10.3.12
安装包下载地址:https://downloads.mariadb.org/mariadb/10.3.12/
如下图
MariaDB下载位置

7、上传至服务器并解压

tar -zxvf mariadb-10.3.12.tar.gz

8、创建MariaDB安装目录、数据库存放目录、建立用户和目录

groupadd -r mysql
useradd -r -g mysql -s /sbin/nologin -d /usr/local/mysql -M mysql
-------------------------------------------------------------------------------------
-r: 添加系统用户( 这里指将要被创建的系统用户mysql )
-g: 指定要创建的用户所属组( 这里指添加到新系统用户mysql到mysql系统用户组 )
-s: 新系统帐户的登录shell( /sbin/nologin 这里设置为将要被创建系统用户mysql不能用来登录系统 )
-d: 新帐户的主目录( 这里指定将要被创建的系统用户mysql的家目录为 /usr/local/mysql )
-M: 不要创建用户的主目录( 也就是说将要被创建的系统用户mysql不会在 /home 目录下创建 mysql 家目录 )

10、创建安装目录,数据库存放目录

安装目录:mkdir -p /usr/local/mysql
数据库存放目录:mkdir -p /data/mysql
改变数据库存放目录所属用户及组  chown -R mysql:mysql /data/mysql

11、执行编译安装

进入安装包解压后的目录: cd /opt/soft/mariadb10.3.12/
输入编译参数:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_DATADIR=/data/mysql \
 -DSYSCONFDIR=/etc \
 -DWITHOUT_TOKUDB=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STPRAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWIYH_READLINE=1 \
 -DWIYH_SSL=system \
 -DVITH_ZLIB=system \
 -DWITH_LOBWRAP=0 \
 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci
编译并安装(时间较长)
make && make install 

12、配置MariaDB

进入MariaDB安装目录
    cd /usr/local/mysql/
使用 `mysql` 用户执行脚本, 安装数据库到数据库存放目录
    scripts/mysql_install_db --user=mysql --datadir=/data/mysql
复制MariaDB配置文件到/etc目录,进入MariaDB安装目录
    cd /usr/local/mysql/
拷贝support-files目录下的文件wsrep.cnf到/etc目录并重命名为my.cnf
    cp support-files/wsrep.cnf /etc/my.cnf
创建启动脚本
    cp support-files/mysql.server /etc/rc.d/init.d/mysqld
启动mysqld服务
    /etc/rc.d/init.d/mysqld start
配置环境变量, 以便在任何目录下输入mysql
    vim /etc/profile.d/mysql.sh
    输入:
    export PATH=$PATH:/usr/local/mysql/bin/
    保存
为脚本赋于可执行权限
    chmod 0777 /etc/profile.d/mysql.sh
进行mysql.sh脚本所在目录, 并执行脚本, 以立即生效环境变量
    source /etc/profile.d/mysql.sh

13、初始化MariaDB

./bin/mysql_secure_installation
提示如下:
Enter current password for root (enter for none):     输入当前root密码(没有输入)

Set root password? [Y/n]     设置root密码?(是/否)

New password:    输入新root密码

Re-enter new password:        确认输入root密码

Password updated successfully!         密码更新成功

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

默认情况下,MariaDB安装有一个匿名用户,
允许任何人登录MariaDB而他们无需创建用户帐户。
这个目的是只用于测试,安装去更平缓一些。
你应该进入前删除它们生产环境。

Remove anonymous users? [Y/n]         删除匿名用户?(是/否)

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

通常情况下,root只应允许从localhost连接。
这确保其他用户无法从网络猜测root密码。

Disallow root login remotely? [Y/n]     不允许root登录远程?(是/否)

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

默认情况下,MariaDB提供了一个名为“测试”的数据库,任何人都可以访问。
这也只用于测试,在进入生产环境之前应该被删除。

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

重新加载权限表将确保所有到目前为止所做的更改将立即生效。

Reload privilege tables now? [Y/n]      现在重新加载权限表(是/否)

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

全部完成!如果你已经完成了以上步骤,MariaDB安装现在应该安全。

Thanks for using MariaDB!

感谢使用MariaDB

14、至此,安装结束

访问数据库:
mysql -u root -p 回车
输入密码,登录成功
登陆后如下图
image.png

以上参考自:https://segmentfault.com/a/1190000009909776,感谢该博主的文章。上述记录源自本人实操后的总结,如有不足之处,请指教。

你可能感兴趣的:(centos7下安装MariaDB)