一键安装CentOS 6/7 MySQL服务器脚本
MySQL是一件安装脚本,专为CentOS 6/7系统设计,用于快速、简便地在这些操作系统上部署MySQL数据库服务器。该脚本由 Wang Lin 开发于2016年9月30日,主要通过Yum包管理器安装必要的依赖项,如GCC编译器套件、Memcached、OpenSSL、libcurl、GD库、libxml2、libevent等,这些是构建MySQL数据库所需的基础设施。 脚本首先检查系统的gcc、gcc-c++等编译器是否已安装,如果没有,则通过yum命令进行安装。接下来,脚本定义了MySQL的安装目录(`mysql_install_dir`)和数据存储目录(`mysql_data_dir`),以及预设的root用户的密码。为了确保权限安全,它会检查MySQL用户是否存在,如果不存在则创建一个新的非交互式用户,并将其权限设置为只能运行`/sbin/nologin`命令,以防止不必要的登录尝试。 脚本会下载MySQL源代码到指定的`srcroot`目录,这一步通常涉及使用`wget`或`scp`等工具从官方网站或其他可靠源获取最新的MySQL源码包。安装过程包括解压、配置、编译和安装MySQL服务器,同时处理依赖库的链接和安装。 脚本还会根据系统的内存大小动态分配内存给MySQL服务,以优化性能。对于MySQL的数据目录,脚本会创建相应的目录结构,并确保它们被赋予正确的所有者和权限,以便MySQL用户可以访问和管理数据。 整个安装过程旨在提供一个简洁的命令行操作,减少了手动配置和安装的复杂性,适合对Linux环境有一定了解但不熟悉MySQL配置的用户。这种"一键式"安装脚本对于简化中小型网站开发者的数据库部署流程具有很大的价值,因为它们节省了时间,降低了出错的可能性,并且易于维护。不过,对于大型生产环境,可能还需要额外的安全配置和性能调优。
# developer by wanglin
# date 2016.9.30
# email wll@qq.com
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################################################################
# centos 6/7 mysql_init #
#######################################################################
"
# installing gcc gcc-c++...
yum install libmemcached openssl-devel libcurl-devel gd-devel libxml2-devel libevent cmake -y
yum install lrzsz gcc gcc-c++ make bzip2-devel zip-devel wget locate ntpdate ncurses-devel -y
yum install psmisc libaio rsync gzip zip unzip autoconf python-pip python-devel libffi-devel libxml2-devel libxslt-devel -y
#dir
mysql_install_dir=/usr/local/services/mysql
mysql_data_dir=/data/mysql
dbrootpwd=123456
srcroot=/usr/local/src
MEM=`free -m |head -n2|awk '{print $2}'|tail -n1`
#useradd
id -u mysql >/dev/null 2>&1
if [ $? -ne 0 ];then
useradd -M -s /sbin/nologin mysql
if [ ! -d "${mysql_install_dir}" ];then
mkdir -p ${mysql_install_dir}
mkdir -p ${mysql_data_dir}
chown mysql.mysql -R ${mysql_data_dir}
fi
#download
cd $srcroot
if [ ! -f mysql-5.6.33.tar.gz ];then
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.33.tar.gz
tar zxvf mysql-5.6.33.tar.gz
else
tar zxvf mysql-5.6.33.tar.gz
fi
#install
cd mysql-5.6.33
cmake . -DCURSES_LIBRARY=/usr/lib/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include
cmake . -DCMAKE_INSTALL_PREFIX=${mysql_install_dir} \
-DMYSQL_DATADIR=${mysql_data_dir} \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DTRACE=0 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
剩余7页未读,继续阅读
- 粉丝: 45
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展