qianqianling 发表于 2018-10-4 06:11:35

Mysql5.1.36 autoinstall.sh

  以下脚本由杨良伟同学一手编写,我只是为了其他文章方便转载才放进自己的文章,以下有附件可以下载,将txt改成sh,赋予执行位,即可执行自动安装,忘转载者标明出处,谢谢。
  杨良伟同学blog链接:
  http://http//ylw6006.blog.51cto.com/
  有兴趣的可以进去看看
  下载链接:
mysql5.1.36_auto-install.sh
  http://down.51cto.com/data/156552
  -----------------------------------------------------------------------------------------------------------------------------------------------------
  #!/bin/sh
  #function:use this script automatic install mysql.5.1.36...
  #author:lw.yang
  ################################################################################################################################################################################
  ###:remove default rpm packets if them has been installed...
  service mysqld stop
  if [ -f /usr/bin/mysqld_safe ];then
  echo "Remove default mysql-server RPM packets..."
  yum -y remove mysql-server > /dev/null 2>&1
  yum -y groupremove "MySQL Database" > /dev/null 2>&1
  fi
  if [ -f /usr/bin/mysqldump ];then
  echo "Remove default mysql-client RPM packets..."
  yum -y remove mysql > /dev/null 2>&1
  fi
  ###:add private group and user for mysql,then create data storage directory...
  echo "Setting Environment variables..."
  userdel-r mysql   > /dev/null 2>&1
  groupdel -r mysql   > /dev/null 2>&1
  groupadd -g 27 mysql> /dev/null 2>&1
  useradd -g mysql -u 27 -d /dev/null -s /sbin/nologin mysql> /dev/null 2>&1
  if [ ! -d /mydata ];then
  echo "Creating data directory..."
  mkdir /mydata
  fi
  chown -R mysql.mysql /mydata
  ###:Download and install mysql...
  echo "Download and install mysql..."
  if [ ! -d /usr/local/src/tarbag ];then
  echo"Creating tarbagdiretcory for install..."
  mkdir /usr/local/src/tarbag
  fi
  if [ ! -d /usr/local/src/software ];then
  echo"Creating software directory for install..."
  mkdir /usr/local/src/software
  fi
  if [ ! -f /usr/local/src/tarbag/mysql-5.1.36.tar.gz ];then
  echo "Download mysql ..."
  cd /usr/local/src/tarbag &&wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.36.tar.gz
  exit 2
  fi
  if[ ! -d /usr/local/src/software/mysql-5.1.36 ];then
  echo "Extract mysql source code ..."
  tar -zxvf mysql-5.1.36.tar.gz -C /usr/local/src/software > /dev/null
  exit 2
  fi
  cd /usr/local/src/software/mysql-5.1.36
  ./configure --prefix=/usr/local/mysql --datadir=/mydata --with- --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-ssl --with-embedded-server --enable-local-infile --enable-assembler --with-plugins=partition > /dev/null
  if[ $? != 0 ];then
  echo "Configure mysql failure,Please check compile Environment..."
  exit 2
  fi
  make -j 3 > /dev/null
  if [ $? != 0 ];then
  echo "Make software failure,please look config.log for more information..."
  exit 2
  fi
  make install > /dev/null 2>&1
  if [ $? = 0 ];then
  echo "Mysql install complete done ..."
  else echo "Something wrong between installation..."
  exit 2
  fi
  ###:Initialization mysql...
  echo "Initialization mysql..."
  rm -rf /etc/my.cnf
  rm -rf /etc/init.d/mysqld
  cp/usr/local/src/software/mysql-5.1.36/support-files/my-medium.cnf /etc/my.cnf
  sed -i '38i\max_connection = 2000'      /etc/my.cnf
  sed -i '39i\datadir = /mydata'          /etc/my.cnf
  sed -i '40i\basedir = /usr/local/mysql' /etc/my.cnf
  sed -i '41i\expire_logs_days = 3'       /etc/my.cnf
  sed -i '42i\max_binlog_size = 512M'   /etc/my.cnf
  cp/usr/local/src/software/mysql-5.1.36/support-files/mysql.server /etc/init.d/mysqld
  chmod +x /etc/init.d/mysqld
  chkconfig --add mysqld
  chkconfig mysqld on
  chown -R mysql.mysql /usr/local/mysql
  echo "Modify mysql-server main parameter file..."
  /usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/mydata > /dev/null
  if [ $? = 0 ];then
  echo " Initialization mysql complete done ..."
  else echo "Something wrong between Initialization..."
  exit 2
  fi
  chown -R mysql.mysql /usr/local/mysql
  cp -rp /mydata/mysql /usr/local/mysql/share/
  service mysqld start
  -----------------------------------------------------------------------------------------------------------------------------------------------------
  目前脚本运行完可能无法正常启动,那就手动初始化一下mysql
  # /usr/local/mysql/bin/mysql_install_db --user=mysql --datadir=/mydata
  WARNING: The host '158LDAP' could not be looked up with resolveip.
  This probably means that your libc libraries are not 100 % compatible
  with this binary MySQL version. The MySQL daemon, mysqld, should work
  normally with the exception that host name resolving will not work.
  This means that you should use IP addresses instead of hostnames
  when specifying MySQL privileges !
  Installing MySQL system tables...
  OK
  Filling help tables...
  OK
  To start mysqld at boot time you have to copy
  support-files/mysql.server to the right place for your system
  PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
  To do so, start the server, then issue the following commands:
  /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
  /usr/local/mysql/bin/mysqladmin -u root -h 158LDAP password 'new-password'
  Alternatively you can run:
  /usr/local/mysql/bin/mysql_secure_installation
  which will also give you the option of removing the test
  databases and anonymous user created by default.This is
  strongly recommended for production servers.
  See the manual for more instructions.
  You can start the MySQL daemon with:
  cd /usr/local/mysql ; /usr/local/mysql/bin/mysqld_safe &
  You can test the MySQL daemon with mysql-test-run.pl
  cd /usr/local/mysql/mysql-test ; perl mysql-test-run.pl
  Please report any problems with the /usr/local/mysql/scripts/mysqlbug script!
  The latest information about MySQL is available at http://www.mysql.com/
  Support MySQL by buying support/licenses from http://shop.mysql.com/
  出现以上提示即初始化成功
  # service mysqld start
  Starting MySQL.                                          
  最后为了方便mysql命令的调用,可以将mysql/bin的路径加入到环境变量中
  在/etc/profile文件的 unseti 上一行加入如下内容
  pathmunge /usr/local/mysql/bin
  并运行下面的命令即可
  # source/etc/profile

页: [1]
查看完整版本: Mysql5.1.36 autoinstall.sh