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 ...
随机推荐
- 非常全的linux面试笔试题及参考答案
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点来标识 ...
- node event中 on emit off 的封装
事件绑定一个事件名称对应多个事件函数 应此它们的关系是一对多的关系 数据类型采用对象的形式 key:val 因为函数有多个 所以val选用数组 事件仓库 eventList = { key:val, ...
- 如何在anaconda中切换python2
如果你不切换可能是默认的python3环境. 下面是在python27版本下下载qt5
- vue中监听路由参数变化
今天遇到一个这样的业务场景:在同一个路由下,只改变路由后面的参数值, 比如在这个页面 /aaa?id=1 ,在这个页面中点击一个按钮后 跳转到 /aaa?id=2 , 但从“/aaa?id=1”到“ ...
- xml 标准字符过滤
今天在代码里面看见一串非常奇怪的推断语句 if (c < 0x9 || c > 0x9 && c < 0xA || c > 0xA && c & ...
- Dynamics CRM 2015/2016 Web API:Unbound Function 和 Bound Function
今天我们来看看Dynamics CRM Web API Function 吧, 这是一个新概念,刚接触的时候我也是比較的迷糊.这种命名确实是和之前的那套基于SOAP协议的API全然联系不上.好了,不说 ...
- 函数的引用透明性(referential transparency)
1. 基础 初学程序设计时,比较容易混淆的两个概念是数学函数(math function)和程序中使用的函数. 在数学函数中 y=f(x),一个输入值有固定的输出值.例如,无论计算多少次,sinπ 的 ...
- Oracle以系统管理员的方式登录失败
解决方法: 因为SYS是在数据库之外的超级管理员,所以我们在登录的时候输入sys后在输入命令:password as sysdba 就可以!例如:输入口令: m1234 as sysdba 参考文章 ...
- Python代码优化及技巧笔记(一)
前言 这里是记录一些本人在开发过程中遇到的一些细节问题.与君共勉. 版权说明 著作权归作者全部.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:Coding-Naga链接:http://bl ...
- swift项目第七天:构建访客界面以及监听按钮点击
一:访客界面效果如图 二:xib封装访客视图的view 1:业务逻辑分析:1:由于用户未登录时要显示访客视图,要先进行判断用户是否登录,未登录则显示访客视图,登录则显示正常的登陆界面,由于要在四个子控 ...