Mysql安装脚本
Mysql
PS:要先看懂脚本在复制粘贴运行脚本,每个人的环境不一样
#/bin/bash
#--------变量
#num=`expr $RANDOM % + `
now_lujing=`pwd` #-------------------------配置用户文件函数
function user_file_config()
{
#下载Mysql
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.31.tar.gz
#-----------------------------------添加组,用户
groupadd mysql &>/dev/null
useradd mysql -g mysql -s /sbin/nologin
#-----------------------------------建立必要文件
#Mysql的安装目录
mkdir -p /usr/local/mysql
#Mysql数据目录
mkdir -p /data/mysqldb
#创建BINLOG日志目录
mkdir -p /data/mysqldb/binlog
#创建MYSQL 日常LOG目录
mkdir -p /data/mysqldb/log
#数据库临时目录
mkdir /opt/mysqltmp #解压编译mysql源码
make_mysql;
#给Mysql安装目录进行授权
chown mysql:mysql /usr/local/mysql -R
#---------------------------------更改权限
chown mysql:mysql /opt/mysqltmp
#-给Mysql数据存储目录进行授权
chown mysql:mysql /data/mysqldb -R
#-给Mysl日志目录进行授权
chown mysql:mysql /data/mysqldb/binlog/
chown mysql:mysql /data/mysqldb/log/
#开始初始化
#复制配置文件
echo y|cp $now_lujing/my.cnf /etc/my.cnf #指定使用者,user,运行目录/usr/local/mysql 制定数据存放文件 /data/mysqldb
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb
#拷贝命令到init.d文件里面去
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod /etc/init.d/mysqld
#启动服务和设置环境变量
#:vim /etc/profile
#文件的最后面。
echo -e "MYSQL=/usr/local/mysql/bin \nPATH=\$PATH:\$MYSQL\nexport PATH" >>/etc/profile
#生效
source /etc/profile
}
function make_mysql()
{
if [ ! -d mysql-5.6. ]
then
tar -xvf mysql-5.6..tar.gz
fi
cd mysql-5.6.
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=gbk \
-DDEFAULT_COLLATION=gbk_chinese_ci \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_FEDERATED_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=
make && make install }
#-------检查yum源有没有配置成功
function check_yum()
{
yum clean all &>/dev/null
yum repolist &> /tmp/repolist.los
rpm_num=`cat /tmp/repolist.los|grep repolist|awk '{print $2}'`
# echo $rpm_num
if [ "$rpm_num" == "" ]
then
echo error:`date +%F-%R`yum源没有配置好 >>mysql_log
else
echo error:`date +%F-%R`yum源配置好了 >>mysql_log
yum install gcc gcc-c++ ncurses-devel perl camke bison cmake -y
[ $? -eq ] && echo -e succed:"`date +%F-%R`\tmysql所需要的依赖包已经成功安装 >>mysql_log" || echo -e filed:"`date +%F-%R`\tmysql所需要的依赖包没有安装成功 >>mysql_log"
fi
} function main()
{
check_yum;
user_file_config
#启动服务
/etc/init.d/mysqld start }
main;
my.cnf
[client]
port =
socket = /tmp/mysql.sock [mysqld] #base
port =
user = mysql
socket = /tmp/mysql.sock
pid-file = /tmp/mysql.pid
basedir = /usr/local/mysql
datadir = /data/mysqldb
tmpdir = /opt/mysqltmp
open_files_limit =
explicit_defaults_for_timestamp
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
federated server_id =
#replicate-do-db = posp
#replicate-ignore-db = mysql
#log-slave-updates =
event_scheduler= max_connections =
max_connect_errors =
interactive_timeout =
wait_timeout =
skip-name-resolve
sync_binlog=
log_bin_trust_function_creators = character-set-server = utf8
default_storage_engine = InnoDB #log
log-bin = /data/mysqldb/binlog/mysql-bin
binlog_cache_size = 32m
max_binlog_cache_size = 10g
binlog_stmt_cache_size = 32m
table_open_cache =
max_binlog_size = 1024m
binlog_format = mixed
log_output = FILE
log-error = /data/mysqldb/log/mysql-error.log
slow_query_log =
slow_query_log_file = /data/mysqldb/log/mysql-slow_query.log
general_log =
general_log_file = /data/mysqldb/log/mysql-general-query.log
expire-logs-days =
relay-log = /data/mysqldb/binlog/relay-bin
relay-log-index= /data/mysqldb/binlog/relay-bin.index #buffer
sort_buffer_size = 2m
read_buffer_size = 2m
read_rnd_buffer_size = 2m
join_buffer_size = 2m net_buffer_length = 16k
max_allowed_packet = 512m
bulk_insert_buffer_size = 32m
max_heap_table_size = 512m
tmp_table_size = 512m
thread_cache_size =
query_cache_size = 256m
query_cache_limit = 10m
query_cache_min_res_unit = 4k
key_buffer_size = 16m
myisam_sort_buffer_size = 64m
myisam_max_sort_file_size = 10g
myisam_repair_threads = #innodb
innodb_file_per_table =
innodb_data_file_path = ibdata1:2048M:autoextend
innodb_log_file_size = 128m
innodb_log_files_in_group =
innodb_buffer_pool_size = 1g
innodb_buffer_pool_instances = -
innodb_max_dirty_pages_pct =
#innodb_thread_concurrency =
innodb_flush_method = O_DIRECT
innodb_log_buffer_size = 16m
innodb_flush_log_at_trx_commit = [mysql]
no-auto-rehash
prompt = (\u@\h) [\d]\_
default-character-set = utf8
Mysql安装脚本的更多相关文章
- MySQL安装脚本0104-亲试ok
#!/bin/bash export host_ip=192.168.7.79 export password=123456 echo '#1.取master主机ip的后三位作为master的se ...
- MySQL安装脚本最佳实践
MySQL安装脚本最佳实践 2018年9月19日 17:01 #!/bin/bash export host_ip=192.168.7.206 echo '#1.取master主机ip的后三位 ...
- mysql5.7一键安装脚本
0. 概述 最近鼓捣出了一个mysql安装脚本,将该脚本,mysql的my.cnf文件,mysql的安装包这三个文件放在同一个目录下面,执行sh mysql-auto-install.sh就可以完成m ...
- MySQL安装及初步配置.md
MySQL 安装脚本 #!/bin/bash MYSQL_BASEDIR=/usr/local/mysql MySQL_DATADIR=/data/mysql SERVER_ID=`hostname ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
- mysql oracle静默 一键安装脚本
pre-read; 为了达到一键搞定的目的!现Ruiy简单做如下几小条规定 如果你想这么一键来搞定请君莫要违背约束! 1. 下载 `二进制` mysql软件介质版本不限,二进制包务必,源码及rpm ...
- [svc]lnmp一键安装脚本(含有np与mysql分离)
基于lanny一键安装包:(含lnmp所需软件及配置文件) 安装nginx: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliy ...
- mysql 5.7 编译安装脚本。
此脚本尽量运行在centos 服务器上面,用于编译安装mysql 5.7 将此脚本和相应的软件 都放到/usr/local/src 目录下面 由于不能上传附件 所以需要把cmake-3.9.6.ta ...
- Mysql安装及自动化部署脚本方案
一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...
随机推荐
- 转 使用SQL从AWR收集数据库性能变化趋势
使用SQL从AWR收集数据库性能变化趋势 为了对数据库一段时间的性能情况有个全面了解,显然AWR是一个非常有用的工具, 但很多人只会在数据库有性能问题时才会生成问题时段的awr报告去分析.虽然AWR ...
- 【搜索 回溯】 zoj 1002
题意:一些机枪彼此不能在同一行和同一列,但是由于有墙的阻隔,能保证子弹无法穿透,即可以同行同列,现问如果说给了一个n*n(n<=4)的矩阵,并给出了墙的分布情况,能否求出最大能繁殖的机枪数. 思 ...
- 给Notepad++ 加带图标右键菜单
给Notepad++ 加带图标右键菜单 方式一: 拷贝以下代码建立一个reg文件,替换相关路径,保存,双击运行加入注册表 Windows Registry Editor Version 5.00 [H ...
- 给input元素添加float. 去除IE6 下input的空隙
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- angularJS 判断
判断语句: ng-switch on ng-switch-when ng-switch-when ng-if=”person.sex==1“ <ul> <li ng-repeat=” ...
- mouseleave 和 mouseout 区别
jQuery中的mouseleave和mouseout的区别 $("li").each(function(i) { //删除的鼠标划过的显示与隐藏 ...
- ubuntu虚拟机和主机互ping及secureCRT使用
1.首先使用ifconfig查看IP,如果没有IP的话就配置IP,配置的IP要和主机在一个网段,可以使用ipconfig查看主机(WIN7)的ip地址. 2.根据ifconfig列出的网卡配置IP地址 ...
- 《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目
CloudReader 一款基于网易云音乐UI,使用GankIo及豆瓣api开发的符合Google Material Desgin阅读类的开源项目.项目采取的是Retrofit + RxJava + ...
- cs的变态语法
int? a = null; //?指示a为可空checked { ... } //赋值溢出抛异常unchecked { ... } //赋值溢出不抛异常expr1??expr2 //空结合运算符,e ...
- 转 windows 下 Oracle 导出表结构
分析Oracle下导出某用户所有表的方法 可能很多使用Oracle的客户都会遇到想把某用户所有表导出的情况,本文就提供这样一个方法帮你轻松解决这个问题. 首先在sqlplus下以该用户登录到Ora ...