第一个实验:

实现二进制安装mariadb 用脚本或ansible的role实现
我们先手动执行一遍,能够更好的了解其流程

第一步:将我们下载的mariadb二进制包解压

由于我们下载的是二进制的程序包,所以,源码编译的步骤已经有人替我们做了,所以,我们可以跳过编译。但是,源码编译必须要指定编译目录,所以,我们必须知道二进制安装完后它存放的位置。所以,我们解压缩的时候,要指定存放路径,而usrlocal就是默认的存放路径

tar xvf mariadb-10.2.23-linux-x86_64.tar.gz -C usrlocal

第二步:

我们进入到usrlocal目录下,因为在下载二进制源包的网页上,有非常详细的安装过程,在这里,我只安装位置相关的一小部分:

In the example below we install MariaDB in the usrlocalmysql directory (this is the default location for MariaDB for many platforms). However any other directory should work too.
We install the binary with a symlink to the original name. This is done so that you can easily change MariaDB versions just by moving the symlink to point to another directory.

大概意思就是,我们默认的安装路径是在usrlocalmasql目录下,并且推荐使用软连接来指向mysql,这方便我们日后对mariaDB进行升级和降级,我们只需要将软连接重新指向一个新的版本就行了。

cd usrlocal
ln -s mariadb-10.2.23-linux-x86_64 mysql

第三步:

cd mysql

当我们ls -l 之后,发现,目录内的所有者和所属组是有些问题的,所以,我们需要改变该目录下所有的所属者和所属组,这里,我们修改为root就行

chown -R root.root mysql

第四步:

在正常的应用服务程序上,都会创建一个和该服务对应的用户账号,该用户的职责就只只负责对应的服务程序,在yum安装的时候,会自动创建,但是我们是手动的二进制安装,所以,我们需要创建对应的用户和用户组

groupadd -r -g 336 mysql
useradd -r -g my
sql -u 336 -s sbinnologin -d datamysql mysql

我们指定了家目录,这个家目录就意味着我们以后存放数据库的路径,但是我们指定的家目录不会自动生成,所以,我们需要手动创建

mkdir datamysql
chown -R mysql.mysql datamysql

第五步:

我们需要创建数据库文件,很多数据库文件都是二进制,我们,很难创建,但是,在usrlocalmysqlscripts目录下有一个mysql_install_db可执行程序,它就可以帮助我们创建数据库文件。
需要注意的是,我们进入到usrlocalmysqlscripts这个目录中,因为,我们没有添加到PATH变量中去,所有,我们要在这个目录下执行此程序,理论上是可以成功的

cd usrlocalmysqlscripts
.mysql_install_db --user=mysql --datadir=datamyql

我们需要执行此程序的用户和生成数据库文件的路径
但是,它会报错,内容如下:
FATAL ERROR Could not find .binmy_print_defaults

而这个文件存放在usrlocalmysqlbin目录下,我们需要在它的上一级目录下执行此命令,也就是usrlocalmysql目录下

scriptsmysql_install_db --user=mysql --datadir=datamysql

执行之后,就会在datamysql目录下生成数据库文件,并且所属组和所属者的身份是mysql,

yum install  libaio.x86_64 -y
scriptsmysql_install_db --user=mysql --datadir=datamysql

注意:如果有的同学发现执行之后会报错,报错内容为却少一个libaio.so.1的动态共享库,我们可以yum install libaio.x86_64 手动安装这个包

第六步:

接下来,我们要创建一个数据库的配置文件,
数据库的默认配置文件etcmy.cnf文件,但是这个配置文件默认的内容的是不符合要求的,我们可以自己创建一个配置文件,etcmysqlmy.cof,这个文配置文件的优先级要比系统自带的配置文件要高
我们可以参考解压缩文件中的usrlocalmysqlsupport-files目录下my-huge.cnf文件来当做配置文件

mkdir etcmysqlmy.cnf
cp usrlocalmysqlsupport-filesmy-huge.cnf etcmysqlmy.cnf
我们需要在配置文件中的28行添加一条配置信息,用来指定数据路文件的位置,
datadir=datamysql

第七步:

配置文件我们已经创建好了,接下来就是服务启动脚本了,CentOS7服务启动的脚本存放在etcinit.d下,我们不用自己编写这个启动脚本,当然,有能力的同学也可以自己编写,我们解压缩的二进制包很友好的给我们提供了服务启动的程序,在usrlocalmysqlsupport-files这个目录下的mysql.server文件,我们将这个文件复制到etcinit.d并且改名为mysqld,然后我们将服务脚本添加到列表中,然后启动服务就好了。3306端口已经处于监听状态了

cp usrlocalmysqlsupport-filesmysql.server etcinit.dmysqld
chkconfig --add mysqld
chkconfig --list
systemctl start mysqld

第八步:

添加PATH路径,以后我们直接敲命令就好了
echo PATH='usrlocalmysqlbin$PATH'  etcprofile.dmysql.sh
. etcprofile.dmysql.sh

第九步:

我们现在就可以直接使用mysql密令登录到数据库了,但是,目前数据库很不安全,所以,我们需要对数据库进行安全加固。
安全加固:mysql会自带一个安全加固的一个程序mysql_secure_installation,这个是个交互式的方式,大概内容如下:

    1、默认是空密码,只能输入enter设置密码2、连续输入两次密码3、是否删除匿名用户4、禁止用户远程登录5、默认有一个test数据库,任何人都可以访问,只用测试环境,但是,进入生产环境之前,确保把这个数据库删除6、将以上信息,重新加载,

第十步:

测试连接,当执行完安全加固后,我们就必须要指定用户和密码登录了
mysql -u'user' -p'passwd'
示例
mysql -uabc -p123456

第二个实验:实现用shell脚本来完成上面的工作

注意:我们要模拟的真实的环境,所以,我们推荐把mariaDB的数据库存放在LV逻辑卷上,这样就可以灵活的实现空间的扩容了
先复习以下逻辑卷的创建过程,以我的虚拟机为例
我们添加一块新硬盘:20G devsdb3
在原有的磁盘上有一个sda3,挂载目录是在data下, devsdb1
这次用devsdae3和devsdb1来创建逻辑卷
步骤如下:

umount devsda3
fdisk devsdb
fdisk devsda tn 3n 8en wn
partprobe devsda
fdisk devsda nn n n +5Gn tn n 8en wpvcreate devsda3 devsdb1pvdisplayvgcreate mysql devsda3 devsdb1vgdisplylvcreate -L 5G -n mysql_data mysqllvdisplaymkfs.xfs devmysqlmysql_datamkdir datamysqlmount devmappermysql_data datamysqlvim etcfstab 

示例脚本:

#!binbash
#install mysql
#Create LVM
sleep 1
echo start install......
null=devnull
umount devsda3 & $null
sed -i '11d' etcfstab
fdisk devsda & $null EOF
8e
w
EOF
partprobe devsda
p
1+5G
t
8e
w
EOF
echo disk create---done
pvcreate devsda3 devsdb1 & $null EOF
y
lvcreate -L 5G -n mysql_data mysql & $null
mkfs.xfs devmysqlmysql_data & $null
mkdir datamysql
mount -aecho LVM create done
#bin install mariadb
cd usrlocal
ln -s mariadb-10.2.23-linux-x86_64 mysql & $null
chown -R root.root mysql & $null
echo decompress done
#create MASQL user
groupadd -r -g 336 mysql
useradd -r -g mysql -u 336 -s sbinnologin -d datamysql mysql
chown -R mysql.mysql datamysql
echo User create done
#create MYSQL DB  file
cd usrlocalmysqlecho create mairiaDB file done
#create configure fiel
mkdir etcmysql
touch etcmysqlmy.cnf
cp usrlocalmysqlsupport-filesmy-huge.cnf etcmysqlmy.cnf
sed -i '28adatadir=datamysql' etcmysqlmy.cnf#start service script
cp usrlocalmysqlsupport-filesmysql.server etcinit.dmysqld
chkconfig --add mysqld & $null
systemctl start mysqld
#add PATH
echo PATH='usrlocalmysqlbin$PATH'  etcprofile.dmysql.sh
. etcprofile.dmysql.sh
echo start service done
#secure enhance
mysql_secure_installation & $null EOFy
centos
centos
y
y
y
y
EOF
echo secure done
sleep 3
echo tasks done

第二种:用ansible 实现完成安装
还有些问题,正在改善,不好意思!

转载于:https://blog.51cto.com/14116879/2388850

二进制安装Mariadb相关推荐

  1. yum安装Mariadb,二进制安装Mariadb

    yum安装Mariadb 设置Mariadb的yum源 vim /etc/yum.repos.d/mariadb.repo [mariadb] name=mariadb baseurl=https:/ ...

  2. MYSQL基础之centos 6下二进制安装mariadb

    安装mysql的方法: 1.源代码:编译安装 2.二进制格式的程序包:展开至特定路径,并经过简单配置后即可使用 3.程序包管理器管理的程序包 项目官方最新版地址:https://downloads.m ...

  3. 二进制安装MariaDB 5.5.41

    官网:https://mariadb.org/ 下载地址:https://downloads.mariadb.org/mariadb/ 开发版本:aplha 文档版本:stable 简介: Maria ...

  4. 二进制安装mariadb 10.2.16

    一.实验环境:centos7.5最新的系统.从官网上下载好较高版本的二级制安装文件. 官网地址:https://downloads.mariadb.org/ 将下载好的二进制文件上传到虚拟测试机上,可 ...

  5. MariaDB二进制安装步骤以及数据库的基本操作

    本文索引 前言 MariaDB二进制格式安装过程 创建用户mysql 准备二进制文件 修改配置文件 创建系统数据 用户账号管理 创建用户账号 授权用户账号 数据库的基本操作 创建删除数据库 创建删除表 ...

  6. 二进制安装mysql 5.7、mariadb (附yum安装方式)

    前言: 本文以mariadb为例进行讲解,安装mysql同理,并以通过测试.安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mari ...

  7. linux下Mariadb的二进制安装

    一.Mariadb的简单介绍 Mariadb是MySQL的一个开源分支,主要是社区在维护,并且完全兼容MySQL,并且可以很方便的称为MySQL的替代,Mariadb的诞生是出自MySQL创始人Mic ...

  8. redhat7 32位mysql_Redhat7.3安装MySQL8.0.22的详细教程(二进制安装)

    一.MySQL安装包下载 官网地址:https://dev.mysql.com/downloads/mysql/ 下载步骤: 过滤操作系统版本 选择归档安装包 下载后,上传并md5校验安装包是否与上图 ...

  9. mysql二进制升级_MySQL二进制安装,升级,多实例部署

    MySQL二进制安装,升级,多实例部署 目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库 考虑因素: ...

最新文章

  1. sql注入_1-8_宽字节注入
  2. Windows平台下动态链接库的总结
  3. 【elasticsearch】如何部分更新文档 (partial update的使用)
  4. poj 1094 Sorting It All Out 很好的拓扑排序,让我对拓扑排序有了一个很好的写法!!!
  5. 转置卷积 反卷积 PyTorch torch.nn.ConvTranspose2d() output_padding
  6. win10保护色设置及还原
  7. Excel表格转换为Word表格,并且保留Excel表格中公式不发生变化
  8. python字典保存为文件_关于python:如何将字典列表保存到文件中?
  9. 爬虫和网易云音乐API的一次尝试
  10. mybatis入门笔记(一)
  11. yy部分地区服务器升级维护,3月5日全区全服更新公告 - YY大皇帝 YY大皇帝独家官网 YY大皇帝新手卡...
  12. 进制为2的10次方的世界
  13. 临床试验中edc录入_临床试验中使用EDC的情况?
  14. 绘制西北太平洋台风频数分布填色图
  15. pjsip php,pjsip 搭建 sip服务器
  16. Camtasia2020mac喀秋莎中文免费密钥
  17. 一元享移动怎么样_揭露铜仁移动公司138元全家享套餐中的骗局!
  18. 【MM配置】SAP MM模块配置目录(转)
  19. 神经网络模型可解释性,典型的神经网络模型
  20. Mob实现短信验证码功能

热门文章

  1. Analysis of Web.xml in Hello1 project
  2. Gradle Build Tool
  3. 13成都邀请赛 1005 Naive and Silly Muggles
  4. Windows Phone中使用Local DataBase与ISolateStorage—在MVVM模式下(—)
  5. 在网上找了一些j2ee的视频教程,有需要的朋友可以看看
  6. 如何得到iterator的当前元素_链表进化!双向链表+迭代器(Iterator)!
  7. Windows核心编程 第2 5章 未处理异常和C ++异常(上)
  8. POJ3122贪心或者二分(分蛋糕)
  9. UVA10763交换学生
  10. npm镜像源的查看和切换