linux mysql 5.6.23_linux-mysql-5.6.23 - 源码安装脚本

#!/bin/bash

#注意:如果报错查看脚本的格式,ser ff,如果不是unix。set ff=unix更改一下就行,然后把已经执行的操作删除掉,如下载的包之类的,然后从新执行

#创建源码包存放目录

mkdir -p /home/tools

#下载源码包

wget -P /home/tools/ http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23.tar.gz

#创建mysql用户组和用户

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

#---------------------------------------------------------------------------------------------------

#创建mysql相关目录。日志存放路径/home/wwwlogs/mysql。mysql主配置文件路径/usr/local/mysql/etc。mysql的主配置文件/usr/local/mysql/etc/my.cnf。mysql的数据库目录/home/mysql_data

mkdir -p /home/wwwlogs/mysql

mkdir -p /usr/local/mysql/etc

touch /usr/local/mysql/etc/my.cnf

mkdir -p /home/data/mysql_data

#---------------------------------------------------------------------------------------------------

#安装依赖包

yum install -y gcc-c++ cmake make bison bison-devel ncurses-devel libaio-devel perl readline-devel autoconf

#---------------------------------------------------------------------------------------------------

#切换到安装包所在路径

cd /home/tools

#---------------------------------------------------------------------------------------------------

#解压源码包并进入解压出来得源码包

tar -zxvf mysql-5.6.23.tar.gz

cd mysql-5.6.23

#---------------------------------------------------------------------------------------------------

#cmake,指定安装路径:/usr/local/mysql、指定mysql的主配置文件所在:/usr/local/mysql/etc、指定mysql的数据库文件存放路径:/home/data/mysql-data、指定sock文件存放路径:/tmp/mysql.sock

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DSYSCONFDIR=/usr/local/mysql/etc \

-DMYSQL_DATADIR=/home/data/mysql_data \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306 \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_READLINE=system

#---------------------------------------------------------------------------------------------------

#编译及安装

make && make install

#---------------------------------------------------------------------------------------------------

#编辑/usr/local/mysql/etc/my.cnf文件(mysql的主配置文件路径)

cat > /usr/local/mysql/etc/my.cnf <

[client]

#password = your_password

socket = /tmp/mysql.sock

[mysqld]

port = 3306

user = mysql

tmpdir = /dev/shm

socket = /tmp/mysql.sock

datadir = /home/data/mysql_data

log-error = /home/wwwlogs/mysql/mysql_err.log

general_log_file= /home/wwwlogs/mysql/main.log

general_log = ON

pid-file = /home/data/mysql_data/mysql.pid

skip-name-resolve

max_connections = 1100

max_user_connection = 1000

open-files-limit = 65534

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

# slow query

# log_warnings = 2

slow_query_log

slow_query_log_file = /home/wwwlogs/mysql/mysql_slowquery.log

long_query_time = 2

expire_logs_days = 30

# binary logging format - mixed recommended

binlog_format=mixed

server-id = 1

log-bin=/home/data/mysql_data/mysql-bin

log-slave-updates

innodb_data_file_path = ibdata1:256M:autoextend

innodb_buffer_pool_size = 2G

innodb_use_sys_malloc = 1

innodb_log_file_size = 256M

innodb_log_buffer_size = 64M

innodb_log_files_in_group = 3

innodb_flush_log_at_trx_commit = 2

innodb_lock_wait_timeout = 50

log_bin_trust_function_creators=1

lower_case_table_names=1

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]

no-auto-rehash

# Remove the next comment character if you are not familiar with SQL

#safe-updates

[myisamchk]

key_buffer_size = 20M

sort_buffer_size = 20M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

END

#---------------------------------------------------------------------------------------------------

#初始化mysql.指定安装路径:/usr/local/mysql、指定mysql的主配置文件所在:/usr/local/mysql/etc、指定mysql的数据库文件存放路径:/home/data/mysql_data、指定mysql用户

cd /usr/local/mysql/scripts/

./mysql_install_db --basedir=/usr/local/mysql --datadir=/home/data/mysql_data/ --defaults-file=/usr/local/mysql/etc/my.cnf --user=mysql

#---------------------------------------------------------------------------------------------------

#给予Mysql相关目录权限

chown mysql:mysql /home/wwwlogs/mysql -R

chown mysql:mysql /usr/local/mysql -R

chown mysql:mysql /home/data/mysql_data -R

#---------------------------------------------------------------------------------------------------

sleep 3

#进入mysql目录,拷贝mysql启动文件到/etc/init.d/,并给予执行权限

cd /usr/local/mysql

cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

#---------------------------------------------------------------------------------------------------

#设置环境变量

echo PATH=\$PATH:/usr/local/mysql/bin >> ~/.bash_profile

echo export PATH >> ~/.bash_profile

source ~/.bash_profile

#---------------------------------------------------------------------------------------------------

#删除可能存在的/etc/my.cnf。这个文件存在启动会失败

cd /etc/

rm -rf my.cnf >/dev/null 2>&1

cd /usr/local/mysql

rm -rf my.cnf >/dev/null 2>&1

#---------------------------------------------------------------------------------------------------

#设置命令变量

ln /usr/local/mysql/bin/mysql /usr/local/bin/

#---------------------------------------------------------------------------------------------------

#启动mysql

service mysqld start

#---------------------------------------------------------------------------------------------------

#判断

if test $? -eq 0; then echo 'mysql安装成功'; else echo 'mysql安装失败'; fi;

#---------------------------------------------------------------------------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值