1.获取二进制安装包

获取二进制格式MariaDB安装包,可去官网下载.

因为是实验环境,所以选择了最新版.

mariadb-10.2.12-linux-x86_64.tar.gz

2.解压

解压到 /usr/local,并给解压出的文件夹创建软连接

]# tar xf mariadb-10.2.12-linux-x86_64.tar.gz -C /usr/local/
]# cd /usr/local/
]# ln -sv mariadb-10.2.12-linux-x86_64/ mysql
]# ll mysql
lrwxrwxrwx. 1 root root 29 Jan 23 10:33 mysql -> mariadb-10.2.12-linux-x86_64/

3.创建帐户

为mariaDB创建一个系统用户,属主为root,数组为mysql

]# groupadd -r mysql
]# cat /etc/group | grep mysql
mysql:x:985:
]# cd mysql

ll查看发现所有文件的属主属组都只显示id号

针对软连接,要用下面的方式修改其中的文件属性

]# chown -R root:mysql ./*
]# ll
total 180
drwxrwxr-x. 2 root mysql 4096 Nov 14 22:34 bin
......

4.准备文档目录

为了管理方便,专门指定并创建几个专用目录

存放数据库的目录/mdata/data

存放配置文件的目录/etc/mysql

]# mkdir -pv /mdata/data

修改这个目录的属主属组为mysql

]# useradd -r mysql -g mysql -s /bin/nologin
]# chown -R mysql.mysql /mdata
]# mkdir /etc/mysql

5.配置文件

mariaDB的主配置文件是/etc/my.cnf.其中include包含了/etc/my.cnf.d这个目录

]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

support-files/目录下有5个针对不同系统内存设置的配置文件模板

]# ls /usr/local/mysql/support-files/my-*
my-huge.cnf my-innodb-heavy-4G.cnf my-large.cnf my-medium.cnf my-small.cnf

其中

my-small.cnf适用于内存只有64M;

my-medium.cnf适用于内存只有256M;

my-large.cnf适用于内存只有512M;

my-huge.cnf适用于更大内存,如2G、4G;

my-innodb-heavy-4G.cnf适用于4G内存;

实验用主机有2g内存,所以使用my-huge.cnf

把my-huge.cnf复制到自定义配置文件目录下并重命名为my.cnf,并在[mysqld]代码块中添加内容

]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
]# vim /etc/mysql/my.cnf
datadir = /mdata/data #指定数据库目录
skip_name_resolve = ON #忽略反解主机名
innodb_file_per_table = ON #开启独立表空间,默认是所有数据库放在同一个文件中,ON的话会把每个数据库单独放一个文件

6.创建数据库文件

必须在/usr/local/mysql目录下操作,否则会报错

]# cd /usr/local/mysql
]# ./scripts/mysql_install_db --datadir=/mdata/data --user=mysql

7.创建日志文件

]# touch /var/log/mysqld.log
]# chown mysql:mysql /var/log/mysqld.log

8.准备服务脚本,启动服务

先通过support-files/mysql.server 启动mysql

./support-files/mysql.server start

成功后,通过ps命令查看

]# ps -ef|grep mysql

找到--pid-file=/mdata/data/centos7.qt.pid字样 记住pid路径和名称/mdata/data/centos7.qt.pid

在/usr/lib/systemd/system目录下增新建mysql.service,内容如下

]# vim /usr/lib/systemd/system/mysql.service
[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/mdata/data/centos7.qt.pid
ExecStart=/usr/local/mysql/support-files/mysql.server start
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
[Install]
WantedBy=multi-user.target
PIDFile=/mdata/data/centos7.qt.pid #就是跟上上面记录的内容

执行重新扫描,加载有变化的单元,使服务生效,之后便可以通过systemctl操作

]# systemctl daemon-reload
]# systemctl start mysql

9.进行安全初始化设置

运行脚本

]# /usr/local/mysql/bin/mysql_secure_installation

10.设置环境变量

]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
]# . /etc/profile.d/mysql.sh

11.启动mysql

]# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 19
Server version: 10.2.12-MariaDB-log MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

二进制安装mariaDB的更多相关文章

  1. 二进制安装 mariadb

    默认路径安装MySQL,Mariadb 非常简单,解压,配置权限,修改配置文件基本即可使用:自定义安装稍微有点麻烦,需要修改的地方稍微多点: 下面详细介绍自定义目录,二进制安装mariadb, 使用传 ...

  2. linux二进制安装MariaDB

    第一步:准备账号 [root@centos7 ~]#getent passwd mysql //查看有没有mysql账号(没有的话需要创建) [root@centos7 ~]#useradd -r m ...

  3. Mysql的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  4. Mysql数据库的二进制安装和基础入门操作

    前言:Mysql数据库,知识非常的多,要想学精学通这块知识,估计也要花费和学linux一样的精力和时间.小编也是只会些毛皮,给大家分享一下~ 一.MySQL安装 (1)安装方式: 1 .程序包yum安 ...

  5. MySQL数据库的二进制安装、源码编译和基础入门操作

    一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...

  6. MariaDB二进制安装

    下载二进制的MariaDB https://downloads.mariadb.org/mariadb/10.2.16/ 安装过程 下载&解压 下载到/tools安装到/application ...

  7. MySQL/MariaDB二进制安装

    本文说明MySQL/MariaDB二进制安装的过程 mysql和mariadb的安装方式基本一致,唯一初始化方式有点不一样 1.规划: 数据文件存储位置                /data/my ...

  8. Linux下编译安装MariaDB

    MariaDB是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代,MariaDB的诞生正是出自MySQL创始人Michael Widenius之 ...

  9. centos 7.3二进制安装mariadb10.2.8完美步骤

    (1)在centos7系统上,yum info mariadb可以找到提供mariadb包的官方网站,在到官方网站下载最新的mariadb包,然后rz到linux系统上去 (2)准备用户 1.user ...

随机推荐

  1. 使用postman模拟上传文件到springMVC的坑:the request was rejected because no multipart boundary was found

    参考该文解决问题:http://blog.csdn.net/sanjay_f/article/details/47407063 报错 threw exception [Request processi ...

  2. c++类型形参的实参的受限转换

    缘起:<c++ primer> 4th, 528页,习题16.3 源程序 #include <iostream> #include <vector> #includ ...

  3. Delphi下OpenGL2d绘图(03)-画线

    一.前言 画线与画点基本上代码是相同.区别在于glBegin()的参数.绘制的框架代码可以使用 Delphi下OpenGL2d绘图(01)-初始化 中的代码.修改的部份为 Draw 函数的内容. 二. ...

  4. [转]Grunt 新手一日入门

    本文转自:http://yujiangshui.com/grunt-basic-tutorial/ 当时学习 Grunt 的时候,真是很头疼.分了两个时间段,学习了两次才硬啃下来,之后才能用在项目中. ...

  5. Spring与SpringMVC的关系

    在此鉴于你已经了解过Spring的相关知识,简单描述一下Spring与Spring的关系 在框架的使用中,Spring类似于一个具有多种特性,也可以说是多种功能模块的应用平台,(特性就比如IoC,AO ...

  6. 15、IO (转换流、缓冲流)

    转换流概述 * A: 转换流概述 * a: 转换流概述 * OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节 * 将字符串按照指定的 ...

  7. layui登录后token问题

    layui是一个非常简单且实用的后台管理系统搭建框架,里面的插件丰富使用简单,只需要在原有基础上进行修改即可,但是在数据处理方面略显薄弱,内置的jquery在实际过程中略显不足,若是能添加内置的mvc ...

  8. BZOJ2987:Earthquake(类欧几里德算法)

    Sol 设 \(n=\lfloor\frac{c}{a}\rfloor\) 问题转化为求 \[\sum_{i=0}^{n}\lfloor\frac{c-ax}{b}\rfloor+1=\sum_{i= ...

  9. Fatal error: Namespace declaration statement has to be the very first statement or after any declare call in the script in

    学习php的命名空间,直接把手册的代码粘贴过来,却报错了:Fatal error: Namespace declaration statement has to be the very first s ...

  10. C#关于Clone()方法的介绍

    日常啪啪啪代码的时候,常常遇到浅复制与深复制的问题,下面就自己经验写写,有问题请留言! 例如我有一个简单的类: class People { public int _age; public strin ...