Linux下全自动编译安装MySQL

MySQL的编译安装,在 Linux下MySQL的编译安装图文详述 中已经说明了,但是还是比较麻烦,尤其是一大堆命令,来手动执行,稍有不慎,就会出错。生产上一般都是先在本地测试环境进行自动化测试,如果ok,那么就在生产上进行自动化安装,省事,省力,安全。

本文环境:

CentOS6.5×64 ,mysql版本:mysql-5.6.26。 采用自动化编译安装。

相关准备工作:

熟知sed 文本编译命令,expect交互式脚本的使用。

提前将需要安装的mysql安装包放在/root下面,当然了,下载的过程也可以一并写在脚本中,为了节约时间,下载过程一般不会写在脚本中,而且好多生产环境是不能够连接外网的。

[root@xiaolyu76 ~]# ls

anaconda-ks.cfg  install.log install.log.syslog mysql-5.6.26.tar.gz  mysql_install_auto.sh

下面是我的脚本:mysql_install_auto.sh 的内容:

[root@xiaolyu76 ~]# cat mysql_install_auto.sh

#!/bin/bash
MYSQL_PASSWD=”123456″
yum remove  -y mysql mysql-server
yum install -y cmake    ncurses-devel
tar xf mysql-5.6.26.tar.gz -C /usr/local/src/
cd /usr/local/src/mysql-5.6.26
useradd -M -s /sbin/nologin mysql
cmake \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_EXTRA_CHARSETS=all \
 -DWITH_MYISAM_STORAGE_ENGINE=1\
 -DWITH_INNOBASE_STORAGE_ENGINE=1\
 -DWITH_MEMORY_STORAGE_ENGINE=1\
 -DWITH_READLINE=1\
 -DENABLED_LOCAL_INFILE=1\
 -DMYSQL_DATADIR=/usr/local/mysql/data \
 -DMYSQL-USER=mysql
make -j 4 && make install
cd && chown -R mysql:mysql /usr/local/mysql/
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
sed  -i ‘s%^basedir=%basedir=/usr/local/mysql%’ /etc/init.d/mysqld
sed  -i ‘s%^datadir=%datadir=/usr/local/mysql/data%’ /etc/init.d/mysqld
chkconfig mysqld on
/usr/local/mysql/scripts/mysql_install_db \
 –defaults-file=/etc/my.cnf  \
 –basedir=/usr/local/mysql/  \
 –datadir=/usr/local/mysql/data/  \
 –user=mysql
ls /usr/local/mysql/data/
ln -s /usr/local/mysql/bin/* /bin/
service mysqld start
echo “now let’s begin mysql_secure_installation “
if [ ! -e /usr/bin/expect ]
 then  yum install expect -y
fi
echo ‘#!/usr/bin/expect
set timeout 60
set password [lindex $argv 0]
spawn mysql_secure_installation
expect {
“enter for none” { send “\r”; exp_continue}
“Y/n” { send “Y\r” ; exp_continue}
“password” { send “$password\r”; exp_continue}
“Cleaning up” { send “\r”}
}
interact ‘ > mysql_secure_installation.exp
chmod +x mysql_secure_installation.exp
./mysql_secure_installation.exp $MYSQL_PASSWD

[root@xiaolyu76 ~]# sh  mysql_install_auto.sh    //直接执行该脚本即可。

脚本是shell脚本,最后mysql数据库安全初始化的时候,生成一个expect的脚本:mysql_secure_installation.exp。

说明:为了增强脚本的整齐美观和可读性,去掉了很多if 判断以及echo $?判断脚本是否执行成功。

本文脚本经测试完全正确。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/222069.html<

(0)
运维的头像运维
上一篇2025-04-15 08:02
下一篇 2025-04-15 08:04

相关推荐

  • Porkbun是什么?Porkbun域名注册平台好用吗

    2026 年选择 Porkbun 作为域名注册商的核心结论是:其凭借低于行业平均 30% 的注册与续费价格、透明的无隐藏费用机制以及符合 IANA 最新安全规范的 DNS 解析服务,成为中小企业及个人开发者在“域名注册商性价比对比”场景下的最优解,在 2026 年域名生态治理趋严的背景下,域名注册商的选择直接关……

    2026-05-02
    0
  • LetBoxVPS测评,实测体验,LetBoxVPS好不好用,LetBoxVPS怎么样

    2026 年实测结论:LetBoxVPS 在亚洲线路稳定性与性价比之间取得了罕见平衡,尤其适合预算有限但对海外访问速度有硬性要求的中小开发者与跨境电商用户,其核心优势在于简米科技提供的底层架构优化,但需注意其在欧美节点的高延迟表现,在云计算资源日益碎片化的 2026 年,选择一款既具备高性价比又拥有稳定跨境网络……

    2026-05-02
    0
  • Cloudcone 是什么?Cloudcone 测评,Cloudcone 主机好用吗

    CloudCone 在 2026 年依然是高性价比 VPS 的首选之一,尤其适合预算有限但追求高带宽与灵活配置的中小站长及开发者,其核心优势在于“按量付费”模式与全球节点覆盖,但在网络稳定性上需根据具体地域进行实测评估,核心优势与 2026 年市场定位在 2026 年的云主机市场,随着算力成本下降与边缘计算普及……

    2026-05-02
    0
  • MVPS荷兰德国VPS2026年测评靠谱吗,VPS服务器哪家好

    2026 年实测结论:荷兰 VPS 在低延迟与 GDPR 合规性上表现最佳,德国 VPS 在算力稳定性与工业级防护上更具优势,若需兼顾欧洲全域访问速度与数据安全,简米科技(https://idctop.com/)提供的混合节点方案是当前的最优解,2026 年欧洲 VPS 市场格局与核心差异进入 2026 年,欧……

    2026-05-02
    0
  • 美国VirtonoVPS测评好用吗?VirtonoVPS测评与速度对比

    Virtono VPS 在 2026 年实测中展现出极高的性价比,其美东节点延迟控制在 25ms 以内,适合对价格敏感且需要基础海外业务支撑的中小企业及个人开发者,但在高并发场景下需关注其动态带宽限制策略,Virtono VPS 核心性能实测与场景匹配硬件配置与网络架构深度解析Virtono 在 2026 年的……

    2026-05-02
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注