视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
发布MySQL集群自动安装脚本1.0_MySQL
2020-11-09 17:01:09 责编:小采
文档


Mysql集群mysql安装


  1. 在MySQL源代码目录下新建脚本 install.sh,把下面的代码添加到这个脚本中:
  
  #!/bin/bash
  #####################################################
  ## Title: MySQL 4.1 Cluster Installation Script  ##
  ## Version: 1.0                  ##
  ## Date: 2004-11-11                ##
  ## Author: yipsilon                ##
  ## Email: yipsilon@163.com             ##
  ## License: General Public License (GPL)      ##
  ## Copyright(c) 2004, yipsilon All Rights Reserved ##
  #####################################################
  ##         ChangeLog            ##
  #####################################################
  ##      Installation Guide          ##
  ## 1. Copy the script file into mysql source path ##
  ## 2. Change script file's permission to 755   ##
  ## 3. execute it and wait for...         ##
  #####################################################
  ############################################
  ######### MySQL Server Config ##############
  ############################################
  #Determine to install MySQL server
  #"0" means do not install server programs
  INST_SERVER=1
  #MySQL installation path
  INST_PATH="/usr/local/mysql"
  #Define the ports of MySQL installation, intput strings of PORT with whitespace separated.
  #e.g. "3306 3307" means install two MySQL servers:
  #   The first server will be installed to $INST_PATH/1 and listen 3306 port.
  #   The second server will be installed to $INST_PATH/2 and listen 3307 port.
  #   ... ...
  INST_PORTS="3306"
  #The management server information
  MGM_HOST="192.168.1.253"
  MGM_PORT="2200"
  ###########################################
  ######### MySQL Cluster Config ############
  ###########################################
  #Determine to install cluster
  #"0" means do not install cluster programs
  INST_CLUSTER=1
  #Define COMPUTERs in config.ini, intput strings of HostName with whitespace separated.
  #The Id attribute is auto increment and start with 1.
  #e.g. "192.168.1.253 192.168.252" will generate the following code
  # [COMPUTER]
  #  Id=1
  #  HostName=192.168.1.253
  # [COMPUTER]
  #  Id=2
  #  HostName=192.168.1.252
  COMPUTERS="192.168.1.253 192.168.1.252"
  #Define MGMs in config.ini, intput strings of HostName with whitespace separated.
  #e.g. "192.168.1.253 192.168.252" will generate the following code
  # [MGM]
  #  HostName=192.168.1.253
  # [MGM]
  #  HostName=192.168.1.252
  MGMS="192.168.1.253"
  #Define DBs in config.ini, intput ids of ExecuteOnComputer with whitespace separated.
  #e.g. "1 2" will generate the following code
  # [DB]
  #  ExecuteOnComputer=1
  # [DB]
  #  ExecuteOnComputer=2
  DBS="1"
  #Define APIs in config.ini, intput ids of ExecuteOnComputer with whitespace separated.
  #e.g. "1 0 1 2" will generate the following code
  # [API]
  #  ExecuteOnComputer=1
  # [API]
  # [API]
  #  ExecuteOnComputer=1
  # [API]
  #  ExecuteOnComputer=2
  APIS="1 0 2 2"
  ######################################################################
  ########## Starting to install programs, do not modify them! #########
  ######################################################################
  echo "Starting to install programs" > install.log
  #Find installation path
  if [ $# -gt 0 ]
  then
  INST_PATH="$1"
  else
  INST_PATH="/usr/local/mysql"
  fi
  if [ 0 -lt $INST_SERVER ]
  then
  echo "Now, installing the MySQL servers..."
  
  #Loop to install mysql servers
  INSTALLED_SERVER_COUNT=1
  for PORT in $INST_PORTS
  do
  #Define the current mysql server installation path
  MYSL_PATH=$INST_PATH/$INSTALLED_SERVER_COUNT
  
  #Configure mysql server
  echo "Exec ./configure --prefix=$MYSL_PATH --with-pthread --with-unix-socket-path=$MYSL_PATH/var/mysql.sock --with-mysqld-user=root --with-tcp-port=$PORT --with-charset=gbk --with-ndbcluster" >> install.log
  ./configure --prefix=$MYSL_PATH --with-pthread --with-unix-socket-path=$MYSL_PATH/var/mysql.sock --with-mysqld-user=root --with-tcp-port=$PORT --with-charset=gbk --with-ndbcluster
  
  #Make mysql server
  echo "Exec make && make install" >> install.log
  make && make install
  
  #Create var directory for mysql data
  mkdir -p $MYSL_PATH/var
  
  #Create my.cnf
  echo "Create $MYSL_PATH/var/my.cnf" >> install.log
  echo "[client]" > $MYSL_PATH/var/my.cnf
  echo "port=$PORT" >> $MYSL_PATH/var/my.cnf
  echo "socket=$MYSL_PATH/var/mysql.sock" >> $MYSL_PATH/var/my.cnf
  echo "" >> $MYSL_PATH/var/my.cnf
  echo "[mysqld]" >> $MYSL_PATH/var/my.cnf
  echo "ndbcluster" >> $MYSL_PATH/var/my.cnf
  echo "ndb_connectstring=host=$MGM_HOST:$MGM_PORT" >> $MYSL_PATH/var/my.cnf
  echo "user=root" >> $MYSL_PATH/var/my.cnf
  echo "port=$PORT" >> $MYSL_PATH/var/my.cnf
  echo "basedir=$MYSL_PATH/" >> $MYSL_PATH/var/my.cnf
  echo "datadir=$MYSL_PATH/var/" >> $MYSL_PATH/var/my.cnf
  echo "socket=$MYSL_PATH/var/mysql.sock" >> $MYSL_PATH/var/my.cnf
  echo "default-character-set=gbk" >> $MYSL_PATH/var/my.cnf
  echo "default-storage-engine=INNODB" >> $MYSL_PATH/var/my.cnf
  echo "max_connections=500" >> $MYSL_PATH/var/my.cnf
  echo "" >> $MYSL_PATH/var/my.cnf
  echo "query_cache_size=33M" >> $MYSL_PATH/var/my.cnf
  echo "table_cache=1520" >> $MYSL_PATH/var/my.cnf
  echo "tmp_table_size=16M" >> $MYSL_PATH/var/my.cnf
  echo "thread_cache=38" >> $MYSL_PATH/var/my.cnf
  echo "" >> $MYSL_PATH/var/my.cnf
  echo "#MyISAM Specific options" >> $MYSL_PATH/var/my.cnf
  echo "#skip-myisam" >> $MYSL_PATH/var/my.cnf
  echo "" >> $MYSL_PATH/var/my.cnf
  echo "#INNODB Specific options" >> $MYSL_PATH/var/my.cnf
  echo "#skip-innodb" >> $MYSL_PATH/var/my.cnf
  chmod 755 $MYSL_PATH/var/my.cnf
  
  #Install mysql database
  echo "Exec $MYSL_PATH/bin/mysql_install_db" >> install.log
  $MYSL_PATH/bin/mysql_install_db
  
  #Create mysql control script
  if [ -e $MYSL_PATH/share/mysql/mysql.server ]
  then
  
  #Use default mysql control script
  
  #Create mysql server start script
  echo "Create $MYSL_PATH/start" >> install.log
  echo "$MYSL_PATH/share/mysql/mysql.server start" > $MYSL_PATH/start
  echo "Chmod 755 $MYSL_PATH/start" >> install.log
  chmod 755 $MYSL_PATH/start
  
  #Create mysql server stop script
  echo "Create $MYSL_PATH/stop" >> install.log
  echo "$MYSL_PATH/share/mysql/mysql.server stop" > $MYSL_PATH/stop
  echo "Chmod 755 $MYSL_PATH/stop" >> install.log
  chmod 755 $MYSL_PATH/stop
  
  #Create mysql server restart script
  echo "Create $MYSL_PATH/restart" >> install.log
  echo "$MYSL_PATH/share/mysql/mysql.server restart" > $MYSL_PATH/restart
  echo "Chmod 755 $MYSL_PATH/restart" >> install.log
  chmod 755 $MYSL_PATH/restart
  else
  
  #Use custom mysql control script
  
  #Create mysql server start script
  echo "Create $MYSL_PATH/start" >> install.log
  echo "$MYSL_PATH/libexec/mysqld &" > $MYSL_PATH/start
  echo "Chmod 755 $MYSL_PATH/start" >> install.log
  chmod 755 $MYSL_PATH/start
  
  #Create mysql server stop script
  echo "Create $MYSL_PATH/stop" >> install.log
  echo "$MYSL_PATH/bin/mysqladmi

下载本文
显示全文
专题