mysql中定义二进制_mysql二进制安装

MYSQL部署

由于yam方式安装的mysql太分散不好管理我这里就写了一下二进制包的安装方法

二进制包的安装

获得官方编译好了的包文件

安装前配置

默认最小安装

下载对应的包到家目录

推荐使用逻辑卷,这里我就用xfs文件系统

关闭selinux

关闭防火墙

网卡只要能连网就好(为了下载网上的包)

将mysql的用户创建好,不会默认创建

系统账户

sbin/nologin

用户名:mysql,可自己指定uid

解压二进制包

官方退出了两个二进制包,分别是适用于centos7之后的带systemd的包mariadb-10.2.29-linux-systemd-x86_64.tar.gz

另一个是:mariadb-10.2.29-linux-x86_64.tar.gz

因为在cento7之后系统的第一个进程从init变成了systemd 所以低版本用第一个包就不方便使用,总体来说步骤差不多只有在后面启动的时候会有微小差别,我会前面以systemd方式演示,到不同的时候说明那里会有不同点

tar xf mariadb-10.2.29-linux-systemd-x86_64.tar.gz -C /usr/local/ 解压文件到/usr/locad/目录下

改一个名字: cd /usr/local ; mv mariadb-10.2.29-linux-systemd-x86_64 mysql

pwd > /usr/local

更改所属用户所属组 : chown -R mysql:root mysql (不是data下的mysql)

创建数据库所需要的PATH变量文件

cd /etc/profile.d/ ;

vim mariadb.sh

内容:

!/bin/bash

export PATH=/usr/local/mysql/bin:$PATH

下载安装mysql的时候所必需的的io依赖包

执行mysql下的安装脚本

cd /usr/local/mysql

./scripts/mysql_install_db --datadir=/data/mysql --user=mysql

注意安装目录 datadir 可以自己定义,我这里选择安装在data下

默认用户: user 使用 新建好了的系统用户mysql

执行后会出现安装完成的提示

修改启动配置文件:

服务端

vim /etc/my.cnf

[mysqld]

datadir=data/mysql (前面安装的时候填写的路径)

socket=/data/mysql/mysql.sock

客户端

vim /etc/my.cnf.d/mysql-clients.cnf

socket=/data/mysql/mysql.sock

将启动文件放到系统的system文件夹下

systemd方式

cp support-files/systemd/mariadb.service /usr/lib/systemd/system/

init方式 (前面步骤基本一样)

cp support-files/mysql.server /etc/init.d/mariadb

开启服务

systemd 开启方式

systemctl start mariadb

init 开启方式

service mariadb start

连接

mysql

MariaDB[none]>

基础的安全加固提要

安全加固脚本 mysql_secure_installation

为root用户设置密码

删除匿名账号

取消root用户远程登录

删除test库和对test库的访问权限

刷新授权表使修改生效

贴一个地址https://blog.csdn.net/iteye_19615/article/details/82618332 对这个安全脚本讲解、

写个脚本实现

#!/bin/bash

##参数1 1决定是去网上下载,否则填写参数0,然后跟目录

# 关防火墙

systemctl stop firewalld

echo "防火墙已关闭"

# 关seLinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

echo "selinux已关闭"

# 关seLinux

# ping网络

ping -c 1 -w 1 www.baidu.com &>/dev/null

if [ ! $? ] ; then

echo "请将网卡配置联通网络"

exit 3 ;

fi

echo "网卡正常"

#yum 源配置

cat > /etc/yum.repos.d/mysqlscript.repo <

[mysqlyum]

name=mysqlyum

baseurl=https://mirrors.aliyun.com/epel/7/x86_64/

gpgcheck=0

penabled=0

eof

echo "阿里yum配置完成,等待检测"

#查看yum是否报错

yum repolist &> /dev/null

if [ ! $? ] ;then

echo "yum配置出现问题";

exit 3;

fi

#检测文件是否存在

testFile=/etc/yum.repos.d/mysqlscript.repo

if [[ ! -f "$testFile" ]];then

echo"yum源创建失败";

exit 3;

fi

echo "yum检测完成"

yum -y install wget &>/dev/null

if [ ! $? ] ;then

echo "下载出现问题" ;

exit 3

fi

if [[ $1 >=1 ]] ;then

#选择确定从网上下载

if [ -d "/data" ]; then

#当data文件夹存在的时候

mkdir mysql;

cd /data/mysql;

echo "正在下载文件请稍等 "

wget https://downloads.mariadb.org/f/mariadb-10.2.29/bintar-linux-systemd-x86_64/mariadb-10.2.29-linux-systemd-x86_64.tar.gz/from/http%3A//mirror.netinch.com/pub/mariadb/?serve -O mariadb-10.2.29-linux-systemd-x86_64.tar.gz &>/dev/null ;

if [ $? ] ;then

cd /data/mysql;

fis="mariadb-10.2.29-linux-systemd-x86_64.tar.gz"

if [ -f $fis ]; then

echo "下载完成";

fi

else

echo " 下载失败,请重试,或者检查网络 "

fi

#当文件夹不存在的时候

else

echo "请在跟下分配一个足够空间的/data文件目录,要求大于1G"

exit 3

fi

else

#用户已经下载好了的情况下

echo "您选择了自行下载放到/data/mysql/下,您选择的是:$2 "

cd /data/mysql/;

mardb='mariadb-10.2.29-linux-systemd-x86_64.tar.gz'

if [ -f $mardb ]; then

echo "放置成功";

else

echo $?

echo "未放置到指定目录,如果放置了,请确保目录名称相同";

exit 3 ;

fi

fi

# 到这一步的时候默认包已经放在了、data下的mysql目录中了

echo "创建系统用户mysql"

useradd -r -u 306 -s /sbin/nologin mysql &> /dev/null

if [ $? ] ;then

echo "系统用户创建完成";

fi

#开始解压压缩包

echo "解压包到/usr/local/下";

pwd

tar xf mariadb-10.2.29-linux-systemd-x86_64.tar.gz -C /usr/local/

if [ $? ] ;then

#解压完成 前往、usr/local下重命名并修改权限

cd /usr/local/ ;

echo "解压到当前路径" ;pwd

mv mariadb-10.2.29-linux-systemd-x86_64 mysql

chown -r mysql:root mysql

else

echo "解压失败" ; exit

fi

# 创建PATH变量

echo "开始创建环境变量脚本"

cat > /etc/profile.d/mariadb.sh <

#!/bin/bash

export PATH=/usr/local/mysql/bin:$PATH

eof

cd /etc/profile.d/;

if [ -f mariadb.sh ] ; then

echo "创建成功";

source /etc/profile.d/mariadb.sh;

else

echo "创建失败"

exit 3

fi

#下载依赖包

echo "下载所需io依赖包" ;

yum -y install libaio ;

if [ $? ];then

echo ”下载完成“;

else

echo "依赖包下载失败";

exit 3;

fi

# 执行安装脚本

echo " 开始安装mariadb "

cd /usr/local/mysql/;

. /scripts/mysql_install_db --datadir=/data/mysql --user=mysql

if [ $? ];then

echo "安装完成";

else

echo "安装脚本出现问题";

exit 3 ;

fi

#修改配置文件

echo "正在修改服务端配置文件:/etc/my.cnf"

cat > /etc/my.cnf<

[mysqld]

datadir=/data/mysql

socket=/data/mysql/mysql.sock

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mariadb/mariadb.log

pid-file=/var/run/mariadb/mariadb.pid

!includedir /etc/my.cnf.d

eof

echo "正在修改客户端配置文件:/etc/my.cnf.d/mysql-clients.cnf "

cat > /etc/my.cnf.d/mysql-clients.cnf<

[mysql]

socket=/data/mysql/mysql.sock

[mysql_upgrade]

[mysqladmin]

[mysqlbinlog]

[mysqlcheck]

[mysqldump]

[mysqlimport]

[mysqlshow]

[mysqlslap]

eof

echo "客户端配置文件修改完成"

#将启动程序放到系统启动项中

echo "设置启动文件"

cd /usr/local/mysql/;

cp support-files/systemd/mariadb.service /usr/lib/systemd/system/

#开启服务

systemctl start mariadb

echo "mysql配置完成 "

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值