MySQL自动安装脚本分享

60次阅读
没有评论

共计 5198 个字符,预计需要花费 13 分钟才能阅读完成。

本篇内容介绍了“MySQL 自动安装脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境要求:centos:6.8
  MySQL:5.7.20
 MySQL 安装文件名:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
  MySQL 源文件路径:/usr/local/src
  MYSQL 脚本文件:/usr/local/src/install_mysql.sh

1、脚本如下:

#/bin/sh

#px 2017-11-29

#mysql install

#email:kitten-pan@163.com 752684428

#version 2.0

#mysql-version mysql5.7.20

source_path=/usr/local/src

install_path=/usr/local/mysql

install_name=mysql-5.7.20-linux-glibc2.12-x86_64

## 检测本机环境

env_fun()

{

echo ============ 检测本机环境,please wait …

username=`cat /etc/passwd |grep mysql|cut -c 1-5`

 if [$username = mysql];then

 echo MySQL account is exits…

 return 10

 else

 echo mysql account is not exits,ready add…

 groupadd mysql

 useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql

 return 12

 fi

}

## 判断 MySQL 是否安装

check_fun()

{

rpm_name=`rpm -aq |grep mysql-server`

echo $rpm_name

 if [! $rpm_name];then

 echo begin check the source install,please wait for a moment…

 if [-d $install_path];then

 echo source install is exist,quit…

 exit 0

 else

 echo 本机未安装 MySQL, 稍后为你安装 …

 install_fun

 op_fun

 

 fi

 else

 echo -n rpm MySQL 已经安装,是否删除?[yes|no]

 read select

 if [$select = yes];then

 rpm -e $rpm_name –nodeps

 rm -rf /var/log/mysqld.log

 check_fun

 else

 exit 0

 fi

 fi

}

### 安装 MySQL

install_fun()

{

read  -p Input a mysql version: -t 30  mysql_version

read  -p Input a mysql port: -t 30  mysql_port

read  -p Input a mysql_server_id: -t 30 mysql_server_id

cd $source_path echo 解压中,please waiting…

tar -zxvf ${install_name}.tar.gz mv $install_name $install_path

## 创建数据目录

mkdir -pv /data/mysqldata

### 给 MySQL 目录的 MySQL 账号权限

cd /usr/local chown mysql.mysql mysql

chown -R mysql.mysql /data/mysqldata

cd $install_path bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysqldata

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

sed -i s#datadir\=\/usr\/local\/mysql\/data#\datadir\=\/data\/mysqldata#g /etc/init.d/mysqld

cat /etc/my.cnf EOF

[client]

port = 3309

socket = /tmp/mysql.sock

default-character-set = utf8

[mysqld]

##mysql-version=5.7.20

port = 3309

socket = /tmp/mysql.sock

datadir = /data/mysqldata

basedir = /usr/local/mysql

pid-file = /data/mysqldata/mysqld.pid

user = mysql

server-id = 1

lower_case_table_names = 1

character-set-server = utf8

back_log = 300

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

binlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 0

query_cache_size = 2M

query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin

binlog_format = row

expire_logs_days = 30

log-error=/data/mysqldata/mysqld.log

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /data/mysqldata/mysql-slow.log

performance_schema = 0

explicit_defaults_for_timestamp

skip-external-locking

default-time_zone = +8:00

default_storage_engine = InnoDB

innodb_file_per_table = 1

innodb_data_file_path = ibdata1:300M:autoextend

innodb_open_files = 5000

innodb_buffer_pool_size = 2048M

innodb_write_io_threads = 4

innodb_read_io_threads = 8

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 128M

innodb_log_file_size = 256M

innodb_log_files_in_group = 2

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 300

[mysqldump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

EOF

echo export PATH=/$PATH:/usr/local/mysql/bin /etc/profile

echo export MYSQL_PS1= (\u@\h:\p) [\d] /etc/profile

source /etc/profile

service mysqld restart

}

op_fun()

{

chmod 755 /etc/init.d/mysqld

chkconfig –add mysqld

chkconfig –level 345 mysqld on

}

main(){

echo ###==================================================###

echo ###welcome to make install mysql with this script###

echo ###copyright 2013 by px###

echo ###==================================================###

sleep 5

env_fun

re=$?

if [re = 10];then

 check_fun

else

 check_fun

fi

}

main

exit 0

2、执行自动安装脚本
  需要填写 MySQL 的版本信息、端口信息、serverid 信息等

点击 (此处) 折叠或打开

sh install_mysql.sh

###==================================================###

###welcome to make install mysql with this script###

###copyright 2013 by px###

###==================================================###

============ 检测本机环境,please wait …

mysql account is not exits,ready add…

begin check the source install,please wait for a moment…

本机未安装 MySQL, 稍后为你安装 …

Input a mysql version:5.7.20

Input a mysql port:3309

Input a mysql_server_id:1

解压中,please waiting…

3、自动安装完毕 启动

# service mysqld  restart
MySQL server PID file could not be found!  [FAILED]
Starting MySQL………….    [  OK ]

4、登入 MySQL 修改密码

点击 (此处) 折叠或打开

[root@ct562 mysqldata]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.20-log

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type help; or \h for help. Type \c to clear the current input statement.

(root@localhost:mysql.sock) [(none)]

(root@localhost:mysql.sock) [(none)]

(root@localhost:mysql.sock) [(none)]

(root@localhost:mysql.sock) [(none)]

(root@localhost:mysql.sock) [(none)]

(root@localhost:mysql.sock) [(none)] set password for root@ localhost =PASSWORD(sysdba@321)

“MySQL 自动安装脚本分享”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计5198字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)