Mysql5.7免编译版自动安装脚本
一:readme:
、此脚本仅仅适合于5.7免面编译安装版本。
、安装是需自己选择mysql软件安装包:例如mysql-5.7.-linux-glibc2.-x86_64.tar.gz或者mysql-5.7.-linux-glibc2.-x86_64.tar.gz;请选择glibc版及免编译版本。
、此脚本可选择自动下载和手动上传安装软件包进行安装。
选择自动下载安装请提前获取下载地址并根据提示输入下载URL;如选择手动上传需提前下载好软件包并确认系统中有lrzsz包。
.安装过程中需要手动输入安装路径以及mysql数据存储路径,请提前规划好。也可根据提示输入路径。。
5安装完成后请注意提示,因为脚本会输出此次安装后的登录密码,请记住登录密码。可使用/etc/init.d/mysqld start|stop|restart进行启停。启动后请使用所给的登录密码登录(每次安装登录密码随机)。
二:脚本代码:
#!/bin/sh
##########################################
# this script is created by xuxuedong. #
# e_mail:***@qq.com #
# qqinfo:*** #
# This is install Mysql5. #
# version:1.1 #
##########################################
. /etc/init.d/functions
#set env
export PATH=$PATH:/bin:/sbin:/usr/sbin
export LANG="zh_CN.GB18030"
packge=/home/admin/tools # Require root to run this script. 判断是否是root用户执行。
#if [[ "$(whoami)" != "root" ]]; then
# echo "Please run this script as root." >&
# exit
#fi
#Show users how to install.让用户选择如何安装
menu ( ){ cat<<END
.手动上传安装
.网络下载安装
.[exit]
pls input the num that you want:
END }
menu
read num
echo "you choice $num"
#upload the packge by user 用户自己上传安装文件
function upload(){
if [ -e $packge ]
then
cd ${packge}&rz
else
mkdir -p ${packge}&cd ${packge}&rz
fi
if [ $? -eq ]
then
action "THE sofeware is upload to ${packge}" /bin/true
else
action "THE sofeware is upload fail" /bin/false
fi
}
###############################
#donwload the packge from URL 用户自己输入下载路径
function WGET(){
while True
do
if [ -e $packge ]
then
cd ${packge}
read -p "input donwload URL:" URL
if [$URL != z ]
then
wget $URL
if [ $? -eq ]
then
action "THE sofeware is download to ${packge}" /bin/true
break
else
Continue
fi
else
mkdir -p ${packge}&cd ${packge}
fi
fi
done
if [ $? -eq ]
then
action "THE sofeware is upload to ${packge}" /bin/true
else
action "THE sofeware is upload fail" /bin/false
fi
}
########################
##install Mysql 自动安装 可用while循环实现只有输入目录才能执行
function InsTall(){
read -p "input a installdir for install mysql(example /application/newmysql):" installdir
if [ -e $installdir ]
then
action "THE dir is exist" /bin/true
else
mkdir -p $installdir
fi
# Installdir = $installdir
read -p "input a mysqldata_dir for mysql_data(example /application/newmysql/3306data):" mysqldata_dir
if [ -e $mysqldata_dir ]
then
action "THE dir is exist" /bin/true
else
mkdir -p $mysqldata_dir
fi
# Mysqldata_dir = $mysqldata_dir
cd ${packge}
echo "`ls -l mysql*`"
read -p "please input you want to install version:" ver
tar -zxf $ver -C $installdir
cd $installdir
echo "`ls -l `"
read -p "please input you want to install version:" installroot_dir
rm -rf ${mysqldata_dir}/*
${installroot_dir}/bin/mysqld --initialize --basedir=${installdir} --datadir=${mysqldata_dir}
if [ $? -eq 0 ]
then
action "mysql is install initialize" /bin/true
else
action "mysql is install initialize false" /bin/false
exit
fi
ln -s ${installroot_dir}/bin $installdir/bin
cp ${installroot_dir}/support-files/mysql.server /etc/init.d/mysqld
cp ${installroot_dir}/support-files/my-default.cnf /etc/my.cnf
cat >>/etc/my.cnf <<EOF
[client]
port=3306
user=iddbs
password ='newpassword'
socket=${mysqldata_dir}/mysql.sock
[mysqld]
max_connections=1000
max_user_connections=500
wait_timeout=200
user=iddbs
server-id=5
port=3306
basedir=$installdir
datadir=${mysqldata_dir}
socket=${mysqldata_dir}/mysql.sock
pid-file=${mysqldata_dir}/mysql.pid
log-bin=${mysqldata_dir}/mysql-bin
relay-log=${mysqldata_dir}/relay-bin
log-error=${mysqldata_dir}/mysql-error.log
interactive_timeout=172800
wait_timeout=172800
max_allowed_packet=16M
expire_logs_days=7
auto-increment-increment=2
auto-increment-offset=1
character-set-server=utf8
collation_server=utf8_general_ci
innodb_data_file_path=ibdata1:1G:autoextend
innodb-buffer-pool-size=15G
binlog_format=row
relay_log_recovery=1
log_bin_trust_function_creators=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names = 1
character_set_server = utf8
event_scheduler = on
[mysqldump]
quick
max_allowed_packet = 16M [mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set = utf8 [myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
EOF echo "export PATH=$PATH:${installdir}/bin">>/etc/profile
source /etc/profile
echo "mysql login password for root is:`cat ${mysqldata_dir}/mysql-error.log | grep password`"
}
function quit(){
if [ "$num" -eq 3 ]
then
echo "logout..."
exit 0
fi
} case $num in
1)
upload
InsTall
;;
2)
WGET
InsTall
;;
3)
quit
;; *)
echo "USAG:1|2|3"
esac
三:完成登录数据库后操作:
由于mysql5.7基于安全考虑对于通过第一次安装密码进行登录后,无法进行操作的问题(不能查看库、表等):
Mysql5.7免编译版自动安装脚本的更多相关文章
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- Windows ftp脚本和RSCD agent自动安装脚本
Windows ftp脚本 和bladelogic RSCD Agent自动安装脚本 比较简单的命令是msiexec /I "C:\RSCD85-SP1-WIN64.msi" /Q ...
- python第三方库自动安装脚本
#python第三方库自动安装脚本,需要在cmd中运行此脚本#BatchInstall.pyimport oslibs = {"numpy","matplotlib&qu ...
- LAMP自动安装脚本
#!/bin/bash # 功能描述:LAMP自动安装脚本 # 初始化 if [ "$(cat /etc/system-release | awk '{print $(NF-1)}' | a ...
- python3自动安装脚本,python3.x与python2.x共存
1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...
- 自动安装脚本-------------基于LVMP搭建Nagios 监控
Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...
- OpenJDK自动安装脚本 InstallOpenJDK.vbs
Oracle JDK 要收费了,Open JDK没有安装包,只有Zip,写了个安装脚本 InstallOpenJDK.vbs Rem ********************************* ...
- hadoop自动安装脚本
还不能实现完全自动安装,只能算半自动的. 进行交互主要障碍有两点: 1. ssh-keygen的时候需要点击回车. 2. passwd 需要设置密码 如果谁能解决以上两点,欢迎email给我. 另外 ...
- mysql5.6源码自动安装脚本
将脚本与源码安装包放在同一目录下,执行脚本即可(执行脚本会使用yum安装依赖包) 安装完成之后,既可以使用mysql -uroot -p登录 脚本内容如下: [root@mysql src]# c ...
随机推荐
- hdu-4857 逃生(拓扑序)
题目链接: 逃生 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
- 【C】论‘\r’和'\n'的纯粹性
- codevs 2102 石子归并2
传送门 2102 石子归并 2 时间限制: 10 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个园形操场的四周摆放N堆石子,现要将 ...
- JavaScript ES6中export、export default、import用法和区别
相信熟悉JS ES6的同学都知道export.export default是导出,import是导入的意思. 那么问题就来了, 1.import 导入要怎么用? 2.export.export def ...
- C#视频取帧图
由于项目里页面有许多视频资料需要展示给用户查看,因此需要做一个视频列表,原设计是列表显示视频第一帧图,但实际上很多视频第一帧是纯黑底色. 于是想到用js利用canvas截图,最后发现由于浏览器跨域限制 ...
- Understand中的Graphical Views使用
Graphical Views 用于浏览代码结构. 下面以dso为例 1.Butterfly 显示include关系.例: 2.Declaration 文件中的类.例: 3.UML Class Dia ...
- Identity Server 4 原理和实战(完结)_Authorization Code Flow 实例
Code在Oauth2.0和OpenId Connect里面分别叫做不同的名字 OAuth只介绍了如何授权.没有介绍如何身份认证. OpenId Connect:既规定了怎么授权,也规定了怎么身份认证 ...
- JS实现获取汉字首字母拼音、全拼音及混拼音的方法
本文实例讲述了JS实现获取汉字首字母拼音.全拼音及混拼音的方法.分享给大家供大家参考,具体如下: 这里需要用到一个js获取汉字拼音的插件,可点击此处本站下载. 运行效果如下: 完整示例代码: ? 1 ...
- 读取MySQL数据表字段信息
TP5句式 $fieldinfo = Db::query('SHOW FULL COLUMNS FROM '.$table);//查出数据表所有字段信息Field 字段Comment 字段注释
- TRANSFORM_TEX是做什么的
简单来说,TRANSFORM_TEX主要作用是拿顶点的uv去和材质球的tiling和offset作运算,确保材质球里的缩放和偏移设置是正确的. (v.texcoord就是顶点的uv) 而_MainTe ...