MySQL学习笔记(一):shell脚本安装配置mysql
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,该脚本用于MySQL二进制安装,仅限于最初安装,如服务器已安装配置有mysql,不建议使用该脚本。操作系统版本:CentOS 7数据库版本:MySQL 5.7.22#!/bin/bashcnf_fil
千家信息网最后更新 2025年11月07日MySQL学习笔记(一):shell脚本安装配置mysql
该脚本用于MySQL二进制安装,仅限于最初安装,如服务器已安装配置有mysql,不建议使用该脚本。
操作系统版本:CentOS 7
数据库版本:MySQL 5.7.22
#!/bin/bashcnf_file="/etc/my.cnf"install_log="mysql_install.log"dbfile="mysql-5.7.22-el7-x86_64.tar.gz"ext_files="mysql-5.7.22-el7-x86_64"bin_path="/usr/local/mysql"pid_path="/data/mysql"data_path="/data/mysql/data"errlog_path="/data/mysql/logs/"binlog_path="/data/mysql/binlog/"slowlog_path="/data/mysql/slow_logs"socket="/data/mysql/mysql3306.sock"port=3306serverid=330601group="mysql"user="mysql"if [ ! -f "$dbfile" ];thenecho "$dbfile not exists" > $install_logelsetar -zxvf $dbfile > $install_logif [ $? -eq 0 ];thenecho "$dbfile Extract Success" >> $install_logelseecho "$dbfile Extract Failed" >> $install_logexit 0fifiif [ ! -d "$bin_path" ];thenecho "moving $ext_files to $bin_path ......" >> $install_logmv $ext_files $bin_pathecho "move $ext_files to $bin_path ......[done]" >> $install_logecho "creating $pid_path ......" >> $install_logif [ ! -d "$pid_path" ];thenmkdir -p $pid_pathecho "create $pid_path ......[done]" >> $install_logelseecho "create $pid_path ......[failed]" >> $install_logexit 0fiecho "creating $data_path ......" >> $install_logif [ ! -d "$data_path" ];thenmkdir -p $data_pathecho "create $data_path ......[done]" >> $install_logelseecho "create $data_path ......[failed]" >> $install_logexit 0fiecho "creating $errlog_path ......" >> $install_logif [ ! -d "$errlog_path" ];thenmkdir -p $errlog_pathecho "create $errlog_path ......[done]" >> $install_logelseecho "create $errlog_path ......[failed]" >> $install_logexit 0fiecho "creating $binlog_path ......" >> $install_logif [ ! -d "$binlog_path" ];thenmkdir -p $binlog_pathecho "create $binlog_path ......[done]" >> $install_logelseecho "create $binlog_path ......[failed]" >> $install_logexit 0fiecho "creating $slowlog_path ......" >> $install_logif [ ! -d "$slowlog_path" ];thenmkdir -p $slowlog_pathecho "create $slowlog_path ......[done]" >> $install_logelseecho "create $slowlog_path ......[failed]" >> $install_logexit 0fielseecho "$bin_path already exists" >> $install_logexit 0fi#create group if not existsegrep "^$group" /etc/group >& /dev/nullif [ $? -ne 0 ]then echo "group $group not exists" >> $install_logecho "creating group $group ......" >> $install_loggroupadd $groupecho "creat group $group ......[done]" >> $install_logelseecho "group $group already exists ......[skip]" >> $install_logfi#create user if not existsegrep "^$user" /etc/passwd >& /dev/nullif [ $? -ne 0 ]then echo "user $user not exists" >> $install_logecho "creating user $user ......" >> $install_loguseradd -g $group $userecho "creat user $user ......[done]" >> $install_logelseecho "user $user already exists ......[skip]" >> $install_logfi#Modify directory permissionschown -R $user.$group $bin_pathchown -R $user.$group $pid_path#Add environment variablesresult_grep_path="$( grep "${bin_path}/bin" /etc/profile )" || result_grep_path=""if [ -z "${result_grep_path}" ]thenecho "export PATH=\$PATH:${bin_path}/bin:${bin_path}/lib" >> /etc/profile ;source /etc/profileelseecho "${bin_path}/bin already exists in /etc/profile" >> $install_logfi#mysql cnfif [ -f $cnf_file ];thenecho "$cnf_file exists"echo "move $cnf_file to $cnf_file`date '+%Y%m%d%H%M%S'` " >> $install_logmv $cnf_file $cnf_file`date "+%Y%m%d%H%M%S"`ficat > /etc/my.cnf << EOF[mysql]socket=${socket}[mysqld]server_id=${serverid}user=mysqlsocket=${socket}port=${port}basedir=${bin_path}datadir=${data_path}log_bin=${binlog_path}/mysql01_bin.loglog_error=${errlog_path}/mysql_err.logslow_query_log = on long_query_time = 2 slow_query_log_file = ${slowlog_path}/mysql_slow.logEOFmysqld --defaults-file=/etc/my.cnf --user=mysql --initialize if [ $? -eq 0 ];thenecho "mysql initialize success ">> $install_logelseecho "mysql initialize failed ">> $install_logexit 0ficp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.serverchmod +x /etc/rc.d/init.d/mysql.serverchkconfig --add mysql.serverchkconfig --list mysql.server >> $install_logsudo -u mysql service mysql.server start if [ $? -eq 0 ];thenecho "mysql install && start success ">> $install_logelseecho "mysql install or start failed">> $install_logfiexit 0
脚本
版本
配置
操作系统
二进制
建议
数据
数据库
服务器
系统
服务
笔记
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
3万软件开发费
移动宽带服务器名称
互联网翻译软件开发工资高吗
软件开发做哪方面越老越吃香
数据库导入有空值
网络安全观后感1500字
怎样掌握网络技术
软件开发工程师pc
网络安全检测器
软件开发在哪个网站找工作
工控广播服务器
网络安全日参加主体
分析高铁网络技术的发展
政府机关单位网络安全实施计划
网络安全工作台账范本
为保证数据库安全
软件技术和软件网络技术
服务器多个ip切换
软件开发课程百度网盘
什么是幼儿园网络安全教育
黄浦区服务器设备回收公司哪里有
免费代理服务器网站快捷方式
数据库的速度优化
大连美国思科软件开发
网络安全大赛有哪些项目
开展网络安全技术应用试点示范工
生活中网络技术图片
设置交换机的ip服务器
软件开发总结感谢词
java 监控数据库变化