基于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/
如下图
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 回车
输入密码,登录成功
登陆后如下图
以上参考自:https://segmentfault.com/a/1190000009909776,感谢该博主的文章。上述记录源自本人实操后的总结,如有不足之处,请指教。