实验:centos 7.3二进制安装mariadb10.2.8及脚本安装

本文详细介绍了在CentOS 6.9和7环境下通过二进制方式安装MariaDB的过程,包括系统准备、用户配置、解压安装包、配置文件设定、数据库文件创建、服务脚本准备及启动、日志文件准备、环境变量设置、安全初始化等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  

(1)查看系统中是否存在mysql

 

[root@centos7 ~]# rpm -qa mariadb*

[root@centos7 ~]#

注意:存在则删除 yum remove mysql

(2)准备用户

 

getent passwd mysql

useradd –d /app/mysqldb -r -m -s /sbin/nologin mysql (-d 指定用户的家目录 -r 创建系统用户 -s 指定用户的shell类型)


(3)解压之准备二进制程序

tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ -C解压到指定目录下

Cd /usr/local/

ln -s mariadb-10.2.8-linux-x86_64/ mysql 创建软连接


(4)准备配置文件

配置文件格式:类ini格式,各程序由单个配置文件提供配[prog_name]

配置文件查找次序:后面覆盖前面的配置文件

/etc/my.cnf--> /etc/mysql/my.cnf--> --default-extra-file=/PATH/TO/CONF_FILE --> ~/.my.cnf

[root@centos7 local]# cd mysql/

[root@centos7 mysql]# ls

bin EXCEPTIONS-CLIENT mysql-test sql-bench

COPYING include README.md support-files

COPYING.thirdparty INSTALL-BINARY README-wsrep

CREDITS lib scripts

data man share

[root@centos7 mysql]# cp support-files/m

magic my-large.cnf mysqld_multi.server

my-huge.cnf my-medium.cnf mysql-log-rotate

my-innodb-heavy-4G.cnf my-small.cnf mysql.server

[root@centos7 mysql]# mkdir /etc/mysql/

[root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf 

vim /etc/mysql/my.cnf

[mysqld]中添加三个选项:

datadir = /app/mysqldb

innodb_file_per_table = on

skip_name_resolve = on 禁止主机名解析

 

(5) 创建数据库文件

cd /usr/local/mysql/

scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb

  

(6)准备服务脚本,并启动服务

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

chkconfig --list mysqld

chkconfig --add mysqld 添加

service mysqld start 失败

  


(7)准备日志文件

mkdir /var/log/mariadb/

chown mysql /var/log/mariadb/

service mysqld start


  

(8)设置环境变量

  

 vim /etc/profile.d/mysql.sh

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

. /etc/profile.d/mysql.sh


  

(9)安全初始化

mysql_secure_installation lsls


 

  

(10)静默模式登陆

 mysq l - uroot - p

注意:在centos 6.9二进制安装mariadb 5.5.57时,只在创建日志文件有所不同。

touch /var/log/mysqld.log

  

实验:用脚本实现上述两个实验


 

#!/bin/bash
# -----------------------
# filename:mysql06.sh
# revision:2.0
# date: 2017-10-14# author:lixueping
# email:
# website:
# description:
# --------------------
export release=`cat  /etc/centos-release|grep  -o  "[ ][0-9]\>" |tr -d  " "`
echo  "


         --------------------------------------------------------------
         |****************  Initialization starts ********************|
         --------------------------------------------------------------
  "
  if  [ $release -eq 7 ]; then
          yum  remove -y  mysql &> /dev/null
          tar  xvf ~/mariadb-10.2.8-linux-x86_64.tar.gz  -C   /usr/local/ 
          ln -s  /usr/local/mariadb-10.2.8-linux-x86_64/    /usr/local/mysql 
          userdel -r  mysql $> /dev/null
          useradd  -r -d /app/mysqldb -m -s /sbin/nologin mysql
          mkdir  /etc/mysql 
          cp  /usr/local/mysql/support-files/my-huge.cnf  /etc/mysql/my.cnf
          sed -i '/\[mysqld\]>/a\datadir = /app/mysqldb\ninnodb_file_per_table = on\nskip_name_resolve = on' /etc/mysql/my.cnf
          cd /usr/local/mysql
          scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb &> /dev/null
          cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
          chkconfig --add mysqld
          mkdir /var/log/mariadb
          chown mysql /var/log/mariadb
          touch /var/log/mariadb/mariadb.log
          chown mysql /var/log/mariadb/mariadb.log
          echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
 elif  
      [ $release  -eq  6 ] ; then
          rpm -qa  mysql &&  echo  $? &>/dev/null
          yum  remove -y  mysql
          tar xvf mariadb-5.5.57-linux-x86_64.tar.gz  -C  /usr/local/
          ln  -s  /usr/local/mariadb-5.5.57-linux-x86_64/   /usr/local/mysql
          userdel -r mysql &> /dev/null
          useradd -r -d /app/mysqldb -m -s /sbin/nologin mysql
          mkdir /etc/mysql
          cp /usr/local/mysql/support-files/my-huge.cnf /etc/mysql/my.cnf
          sed -i '/\[mysqld\]>/a\datadir = /app/mysqldb\ninnodb_file_per_table = on\nskip_name_resolve = on' /etc/mysql/my.cnf
          cd /usr/local/mysql
          scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb &> /dev/null
          cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
          chkconfig --add  mysqld
#在6上日志文件/var/log/mysqld.log
          touch /var/log/mysqld.log
          chown mysql /var/log/mysqld.log
          echo "PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
 else  
      exit 
 fi 


  

  


 

  

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值