实验操作:编译安装mysql与刷脚本----------------------------没事删删库 戴戴小手铐

在这里插入图片描述

前言

所谓数据库,顾名思义就是存数据的仓库 懂了吧 没事删删库 戴戴小手铐

1.1安装环境

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

1.2添加mysql管理用户

useradd -s /sbin/nologin  mysql

1.3把mysql包上传解压

###上传mysql-boost-5.7.20.tar.gz到opt目录下###
cd /opt
tar xf mysql-boost-5.7.20.tar.gz

cmake配置
cd /opt/mysql-5.7.20/
##########cmake配置############
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

1.4编译安装

[root@localhost ]# make 
[root@localhost ]# make install

1.5数据库目录进行权限调整

[root@localhost ]# chown -R mysql:mysql /usr/local/mysql/

1.6建立调整配置文件,里面有命令的话就全部删掉复制下面的代码粘贴进去!

vi /etc/my.cnf

########配置文件###############

[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

1.7权限调整一下

[root@localhost ]# chown mysql:mysql /etc/my.cnf

1.8设置环境变量

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile 

echo 'export PATH' >> /etc/profile ### 申明全局环境变量
source /etc/profile  ### 使加入的数据生效,使mysql的相关命令识别

########进入mysql目录#########
cd /usr/local/mysql/

##########初始化数据库,使用mysql进行初始化#############
bin/mysqld \
--initialize-insecure \          #初始化命令
--user=mysql \                   #指定用户
--basedir=/usr/local/mysql \     #指定工作目录
--datadir=/usr/local/mysql/data  #指定数据存放位置

############将mysql的服务脚本从软件内复制到/lib/systemd/system中##################
cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

#######开启服务在设置开机启动#######
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
netstat -anpt | grep 3306

cd /usr/local/bin/  ###先进去bin目录下在设置密码

######设置登录数据库密码#######
mysqladmin -u root -p password   //回车后在回车,然后输入密码abc123,在此确认abc123,这是在root账户下运行的

#######登录数据库#######
[root@localhost mysql]# mysql -u root -p
Enter password:                           #### 输入刚刚设置的密码
....
mysql> quit
Bye

Shell脚本

#!/bin/bash
#
# 设置MySQL管理员账号密码
PASSWORD=123456
clear
# 判断脚本执行者是否为root用户
if [ "`whoami`" != "root" ];then
  echo "请用以root用户身份执行该脚本!" 
  exit 1
fi

# 交互提示是否确认进行安装
echo "------欢迎使用MySQL 5.6版一键安装脚本 V1.0------"
echo "注意事项:"
echo "1.在安装过程中请保证网络畅通!"
echo "2.请使用source命令执行脚本"
echo ""
while true;do
read -p "是否进行开始安装?(y/n)" a
if [ $a = y ];then
  echo "开始为您安装MySQL5.6..."
  break
 elif [ $a = n ];then
  echo "已取消安装"
  exit 1
 else
  echo "输入有误,请重新输入!" 
fi
done

# MySQL安装开始
yum -y install ncurses-devel gcc-c++ perl-Module-Install expect
cd /opt
tar zxvf mysql-5.6.36.tar.gz
tar zxvf cmake-2.8.6.tar.gz
cd cmake-2.8.6
./configure
gmake && gmake install
cd /opt/mysql-5.6.36
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYCONFDIR=/etc
make && make install
cd /opt/mysql-5.6.36
/usr/bin/expect <<-EOF
spawn cp support-files/my-default.cnf /etc/my.cnf
expect {
  "?" 
  {send "yes\r";}
}
EOF
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
chown -R mysql.mysql /usr/local/mysql
mkdir -p /data/mysql
/usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--user=mysql
systemctl enable mysqld --now

#免交互设置MySQL管理员密码
/usr/bin/expect <<-EOF
spawn mysqladmin -u root -p password "$PASSWORD" 
expect {
  ":" 
  {send "\r";}
}
expect eof
EOF

echo "MySQL 5.6 已安装!"

好了 安装完了 跑了
在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值