Linux-shell脚本-mysql一键安装
安装环境
- CentOS-7-x86_64-DVD-1511.iso
- mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
- mysql_install.sh脚本
mysql_install.sh脚本
-
#!/bin/bash
-
-
#输入mysql压缩文件地址
-
fileName=$1;
-
if [ -f ${fileName} ]
-
then
-
#解压mysql
-
tar -zxvf ${fileName};
-
echo 'mysql解压完成,正在删除/usr/local/mysql文件夹';
-
rm -rf /usr/local/mysql;
-
echo '删除文件夹完成,正在移动解压后的文件';
-
mv ${fileName%%.tar.gz} /usr/local/mysql;
-
cd /usr/local/mysql;
-
else
-
echo '请输入正确的文件';
-
fi
-
-
#如果系统缺少Data:Dumper模块需要打开下面命令
-
#yum -y install autoconf;
-
-
echo '移动完成,正在初始化数据库';
-
#初始化数据库
-
#scripts/mysql_install_db --user=mysql;
-
scripts/mysql_install_db --user=mysql --explicit_defaults_for_timestamp;
-
-
#创建mysql用户和组
-
groupadd mysql;
-
useradd -g mysql mysql;
-
-
#修改文件夹的用户和组
-
chown -R root .;
-
chown -R mysql data;
-
chgrp -R mysql .;
-
-
echo '初始化数据库完成,正在修改mysql配置文件';
-
#修改mysql配置文件
-
sed -i '/mysqld/a\datadir = \/usr\/local\/mysql\/data' my.cnf;
-
sed -i '/mysqld/a\basedir = \/usr\/local\/mysql' my.cnf;
-
sed -i '/mysqld/a\character-set-server=utf8' my.cnf;
-
sed -i '/mysqld/a\port = 3306' my.cnf;
-
sed -i '/mysqld/i\[client]' my.cnf;
-
sed -i '/mysqld/i\port = 3306' my.cnf;
-
sed -i '/mysqld/i\default-character-set=utf8' my.cnf;
-
sed -i '/mysqld/i\ ' my.cnf;
-
sed -i '/mysqld/i\[mysql]' my.cnf;
-
sed -i '/mysqld/i\default-character-set=utf8' my.cnf;
-
sed -i '/mysqld/i\ ' my.cnf;
-
-
echo '修改mysql配置文件完成,正在将mysql加入服务中';
-
cp -rf support-files/mysql.server /etc/init.d/mysql
-
-
echo 'mysql加入服务完成,正在添加开机自启动';
-
chkconfig mysql on
-
-
echo '添加开机自启动成功';
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
example
-
//一键安装
-
sh mysql_install.sh mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
-
//执行完后开启mysql服务
-
service mysql start
-
//开启服务失败请按最后错误提示排错,排错后选择性继续
-
-
//进去mysql安装目录
-
cd /usr/local/mysql
-
//修改root密码
-
./bin/mysqladmin -u root password "123456"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
错误1:The server quit without updating PID file问题的解决办法
1.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
2.以前安装mysql的配置文件没有删除
解决办法:用命令“find / -name my.cnf*”查看是否有文件,如果有需要全部删除,
3.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
4.如果未解决,请百度一下吧
错误2:缺少Data:Dumper模块
打开mysql_install.sh脚本中这一行注释 #yum -y install autoconf;
错误3:’Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)’
首先查找mysql.sock文件在哪里
find / -name mysql.sock
- 1
我的是在/temp/mysql.sock目录下
找到之后输入命令重启mysql服务后搞定
ln -s /temp/mysql.sock /tmp/mysql.sock
- 1
Linux-shell脚本-mysql一键安装的更多相关文章
- [linux] shell脚本编程-xunsearch安装脚本学习
安装脚本setup.sh #!/bin/sh # FULL fast install/upgrade script # See help message via `--help' # $Id$ # s ...
- Linux 64位下一键安装scipy等科学计算环境
Linux 64位下一键安装scipy等科学计算环境 采用scipy.org的各种方法试过了,安装还是失败.找到了一键式安装包Anaconda,基本python要用到的库都齐了,而且还可以选择安装到其 ...
- linux ——shell 脚本
linux—shell 脚本 精简基础 2018/10/30 13 ...
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
- Linux shell脚本编程(一)
Linux shell脚本编程: 守护进程,服务进程:启动?开机时自动启动: 交互式进程:shell应用程序 广义:GUI,CLI GUI: CLI: 词法分析:命令,选项,参数 内建命令: 外部命令 ...
- Linux Shell 脚本入门
linux shell 脚本格式 #!/bin/sh#..... (注释)命令...命令... 使用vi 创建完成之后需设置权限 chmod +x filename.sh 执行命令: ./filena ...
- Linux Shell脚本入门--cut命令
Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...
随机推荐
- 不在JPA 的 persistence.xml 文件中配置Entity class的解决办法
在Spring 集成 Hibernate 的JPA方式中,需要在persistence配置文件中定义每一个实体类,这样非常地不方便,2种方法可以解决此问题: 这2种方式都可以实现不用在persiste ...
- ajax的get请求与编码
window.onload = function(){ document.getElementById('username').onblur = function(){ var name = docu ...
- Let's do our own full blown HTTP server with Netty--转载
原文地址:http://adolgarev.blogspot.com/2013/12/lets-do-our-own-full-blown-http-server.html Sometimes ser ...
- [Javascript] Validate Data with the Every() Method
The every method returns true or false based on whether or not every item in the array passes the co ...
- 在vue中使用font-awesome
1.安装 cnpm i font-awesome -S 2.在main.js中引入 import 'font-awesome/css/font-awesome.min.css'
- php实现 统计输入中各种字符的个数
php实现 统计输入中各种字符的个数 一.总结 一句话总结:谋而后动,想清楚,会非常节约编写代码的时间. 1.对结果可能是0的变量,记得初始化? 4 $len=0; 5 $len=strlen($st ...
- [内核编程] 4.5 HOOK分发函数
4.5 HOOK分发函数 本节开始深入的探讨键盘的过滤与反过滤.有趣的是,无论是过滤还是反过 滤,其原理都是进行过滤.取胜的关键在于:谁将第一个得到信息. 黑客可能会通过修改一个已经存在的驱动对象(比 ...
- [转载]Ocelot简易教程(四)之请求聚合以及服务发现
上篇文章给大家讲解了Ocelot的一些特性并对路由进行了详细的介绍,今天呢就大家一起来学习下Ocelot的请求聚合以及服务发现功能.希望能对大家有所帮助. 作者:依乐祝 原文地址:https://ww ...
- [转载]Ocelot简易教程(二)之快速开始2
为什么这篇的标题叫“Ocelot简易教程(二)之快速开始2”呢,因为很多朋友跟我说上一篇“ Ocelot简易教程(二)之快速开始1”内容太少了,只是简单介绍Ocelot的一些简单配置,让Ocelot能 ...
- Notepad++打开xml文件显示crlf的问题
如图所示,显示CRLF, CRLF其实是换行符. 所以在下图所示设置下显示行尾符不显示即可.