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 ...
随机推荐
- 强大的xUtils工具类整理
xUtils简单介绍 xUtils 包括了非常多有用的android工具. xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,很多其它的事件注解支持且不受 ...
- (转) 25个必须记住的SSH命令
转自:http://www.cnblogs.com/weafer/archive/2011/06/10/2077852.html OpenSSH是SSH连接工具的免费版本.telnet,rlogin和 ...
- (转)高强度密码管理软件KeePass使用详解
转自:http://www.ruancan.com/ 算下来,你接触电脑有多久了?从第一次上网,到今天,你一共申请了多少个网站或者软件的帐号?相信这是一个几乎无人能够回答的问题. 无数人面临着这两个问 ...
- JavaScript字符串替换replace方法
在日常的js开发中, 当要把字符串中的内容替换时,如果使用类似C#的string.replace方法,如下 var str='aabbccaa'; str=str.replace('aa','dd') ...
- lettuce--Advanced Redis client
redis官方提供的java client: git地址:https://github.com/mp911de/lettuceAdvanced Redis client for thread-safe ...
- 关于Android中设置闹钟的相对完善的解决方案
前些时候,有人在我「非著名程序员」微信公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧.确实设置闹钟是一个比较麻烦的东西.我在这 ...
- css3-12 transition+css或transform实现过渡动画
css3-12 transition+css或transform实现过渡动画 一.总结 一句话总结:首先要设置hover后的效果,然后在transition里面指定执行哪些样式和执行时间为多长. 1. ...
- Iaas、Paas和Saas的区别
Iaas: Infrastructure-as-a-service(基础设施即服务),Iaas上购买的一般是主机,用户不光要开发程序,还要考虑搭建系统,维护运行环境,以及怎么容灾,怎么做到高可用,怎么 ...
- Swift3.0 功能一(持续更新)
修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式 // 在swift中提供三种处理异常的方式 // 方式一:try方式 程序员手 ...
- matplotlib学习之散点图与条形图
# coding:utf-8 from matplotlib import pyplot as plt import numpy as np plt.style.use('ggplot') x = n ...