国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql-5.7.21二進制安裝Jemalloc內存優化備份恢復修改密碼

2024-07-24 12:36:07
字體:
來源:轉載
供稿:網友
  簡介
 
  ######數據庫目錄/usr/local/mysql############
 
  ######數據目錄/data/mysql############
 
  ######慢日志目錄/data/slowlog############
 
  ######端口號默認3306其余參數按需自行修改############
 
  安裝腳本
 
  #!/bin/bash
 
  cd /usr/local/src/
 
  if [ ! -f  mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz  ]; then
 
  wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
 
  fi
 
  yum install -y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses-devel  gcc gcc-c++  
 
  # Check if user is root
 
  if [ $(id -u) != "0" ]; then
 
      echo "Error: You must be root to run this script, please use root to install"
 
      exit 1
 
  fi
 
  clear
 
  cd     /usr/local/src
 
  if [ ! -f  jemalloc-5.0.1.tar.bz2  ]; then
 
  yum install  bzip2 -y
 
  wget       https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2
 
  tar     -xjvf     jemalloc-5.0.1.tar.bz2
 
  cd jemalloc-5.0.1/
 
  ./configure  -prefix=/usr/local/jemalloc    --libdir=/usr/local/lib
 
  make  && make install
 
  echo  /usr/local/lib >> /etc/ld.so.conf
 
  ldconfig
 
  fi
 
  cp /usr/local/lib/libjemalloc.so            /usr/lib
 
  echo "========================================================================="
 
  echo "A tool to auto-compile & install MySQL 5.7.21 on Redhat/CentOS Linux "
 
  echo "========================================================================="
 
  cur_dir=$(pwd)
 
  #set mysql root password
 
      echo "==========================="
 
      mysqlrootpwd="123456"
 
      echo -e "Please input the root password of mysql:"
 
      read -p "(Default password: 123456):" mysqlrootpwd
 
      if [ "$mysqlrootpwd" = "" ]; then
 
          mysqlrootpwd="123456"
 
      fi
 
      echo "==========================="
 
      echo "MySQL root password:$mysqlrootpwd"
 
      echo "==========================="
 
  #which MySQL Version do you want to install?
 
  echo "==========================="
 
      isinstallmysql57="n"
 
      echo "Install MySQL 5.7.21,Please input y"
 
      read -p "(Please input y , n):" isinstallmysql57
 
      case "$isinstallmysql57" in
 
      y|Y|Yes|YES|yes|yES|yEs|YeS|yeS)
 
      echo "You will install MySQL 5.7.21"
 
      isinstallmysql57="y"
 
      ;;
 
      *)
 
      echo "INPUT error,You will exit install MySQL 5.7.21"
 
      isinstallmysql57="n"
 
      exit
 
      esac
 
      get_char()
 
      {
 
      SAVEDSTTY=`stty -g`
 
      stty -echo
 
      stty cbreak
 
      #dd if=/dev/tty bs=1 count=1 2> /dev/null
 
      stty -raw
 
      stty echo
 
      stty $SAVEDSTTY
 
      }
 
      echo ""
 
      echo "Press any key to start...or Press Ctrl+c to cancel"
 
      char=`get_char`
 
  # Initialize  the installation related content.
 
  function InitInstall()
 
  {
 
      cat /etc/issue
 
      uname -a
 
      MemTotal=`free -m | grep Mem | awk '{print  $2}'`  
 
      echo -e "/n Memory is: ${MemTotal} MB "
 
      #Set timezone
 
      #rm -rf /etc/localtime
 
      #ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
      #Delete Old Mysql program
 
      rpm -qa|grep mysql
 
      rpm -e mysql
 
      #Disable SeLinux
 
      if [ -s /etc/selinux/config ]; then
 
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
 
      fi
 
      setenforce 0
 
  }
 
  #Installation of depend on and optimization options.
 
  function InstallDependsAndOpt()
 
  {
 
  cd $cur_dir
 
  cat >>/etc/security/limits.conf<<EOF
 
  * soft nproc 65535
 
  * hard nproc 65535
 
  * soft nofile 65535
 
  * hard nofile 65535
 
  EOF
 
  echo "fs.file-max=65535
 
  net.ipv4.tcp_fin_timeout = 30
 
  net.ipv4.tcp_tw_reuse = 1
 
  net.ipv4.tcp_tw_recycle = 1
 
  net.ipv4.tcp_max_tw_buckets = 4096
 
  net.ipv4.tcp_max_syn_backlog = 4096
 
  " >> /etc/sysctl.conf
 
  sysctl -p
 
  }
 
  #Install MySQL
 
  function InstallMySQL57()
 
  {
 
  echo "============================Install MySQL 5.7.21=================================="
 
  cd $cur_dir
 
  #Backup old my.cnf
 
  #rm -f /etc/my.cnf
 
  if [ -s /etc/my.cnf ]; then
 
      mv /etc/my.cnf /etc/my.cnf.`date +%Y%m%d%H%M%S`.bak
 
  fi
 
  echo "============================MySQL 5.7.21 installing…………========================="
 
  #mysql directory configuration
 
  cd /usr/local/src
 
  tar  xvf   mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
 
  mv mysql-5.7.21-linux-glibc2.12-x86_64   /usr/local/mysql
 
  groupadd mysql -g 512
 
  useradd -u 512 -g mysql -s /sbin/nologin -d /home/mysql mysql
 
  mkdir -p /data/mysql
 
  mkdir -p /data/slowlog
 
  chown -R mysql:mysql /data/mysql
 
  chown -R mysql:mysql /usr/local/mysql
 
  chown -R mysql:mysql /data/slowlog
 
  #edit /etc/my.cnf
 
  SERVERID=`ifconfig eth0 | grep "inet" | awk '{ print $2}'| awk -F. '{ print $3$4}'`
 
  cat >>/etc/my.cnf<<EOF
 
  [client]
 
  port=3306
 
  socket=/tmp/mysql.sock
 
  default-character-set=utf8
 
  [mysql]
 
  no-auto-rehash
 
  default-character-set=utf8
 
  [mysqld]
 
  port=3306
 
  bind-address = 0.0.0.0
 
  character-set-server=utf8
 
  socket=/tmp/mysql.sock
 
  pid-file=/data/mysql/mysqld.pid
 
  basedir=/usr/local/mysql
 
  datadir=/data/mysql
 
  explicit_defaults_for_timestamp=true
 
  lower_case_table_names=1
 
  back_log=103
 
  max_connections=3000
 
  max_connect_errors=100000
 
  table_open_cache=512
 
  external-locking=FALSE
 
  max_allowed_packet=32M
 
  sort_buffer_size=16M
 
  join_buffer_size=2M
 
  thread_cache_size=51
 
  query_cache_size=32M
 
  #query_cache_limit=4M
 
  transaction_isolation=REPEATABLE-READ
 
  tmp_table_size=96M
 
  max_heap_table_size=96M
 
  ###***slowqueryparameters
 
  long_query_time=1
 
  slow_query_log = 1
 
  slow_query_log_file=/data/slowlog/slow.log
 
  ###***binlogparameters
 
  log-bin=mysql-bin
 
  binlog_cache_size=4M
 
  max_binlog_cache_size=4096M
 
  max_binlog_size=1024M
 
  binlog_format=MIXED
 
  expire_logs_days=7
 
  ###***relay-logparameters
 
  #relay-log=/data/3307/relay-bin
 
  #relay-log-info-file=/data/3307/relay-log.info
 
  #master-info-repository=table
 
  #relay-log-info-repository=table
 
  #relay-log-recovery=1
 
  #***MyISAMparameters
 
  key_buffer_size=16M
 
  read_buffer_size=1M
 
  read_rnd_buffer_size=16M
 
  bulk_insert_buffer_size=1M
 
  #skip-name-resolve
 
  ###***master-slavereplicationparameters
 
  server-id=$SERVERID
 
  #slave-skip-errors=all
 
  #***Innodbstorageengineparameters
 
  innodb_buffer_pool_size=2G            #  操作系統內存的70%-80%最佳。
 
  innodb_data_file_path=ibdata1:10M:autoextend
 
  #innodb_file_io_threads=8
 
  innodb_thread_concurrency=16
 
  innodb_flush_log_at_trx_commit=1
 
  innodb_log_buffer_size=16M
 
  innodb_log_file_size=512M
 
  innodb_log_files_in_group=2
 
  innodb_max_dirty_pages_pct=75
 
  innodb_buffer_pool_dump_pct=50
 
  innodb_lock_wait_timeout=50
 
  innodb_file_per_table=OFF
 
  [mysqldump]
 
  quick
 
  max_allowed_packet=32M
 
  [myisamchk]
 
  key_buffer=16M
 
  sort_buffer_size=16M
 
  read_buffer=8M
 
  write_buffer=8M
 
  [mysqld_safe]
 
  malloc-lib=/usr/lib/libjemalloc.so
 
  open-files-limit=8192
 
  log-error=/data/mysql/error.log
 
  pid-file=/data/mysql/mysqld.pid
 
  EOF
 
  /usr/local/mysql/bin/mysqld     --defaults-file=/etc/my.cnf     --user=mysql --datadir=/data/mysql   --basedir=/usr/local/mysql  --initialize-insecure
 
  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
 
  chmod 700 /etc/init.d/mysqld
 
  chkconfig --add mysqld
 
  chkconfig --level 2345 mysqld on
 
  cat >> /etc/ld.so.conf.d/mysql-x86_64.conf<<EOF
 
  /usr/local/mysql/lib
 
  EOF
 
  ldconfig
 
  if [ -d "/proc/vz" ];then
 
  ulimit -s unlimited
 
  fi
 
  /etc/init.d/mysqld start
 
  cat >> /etc/profile <<EOF
 
  export PATH=$PATH:/usr/local/mysql/bin
 
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib
 
  EOF
 
  /usr/local/mysql/bin/mysqladmin -u root password $mysqlrootpwd
 
  cat > /tmp/mysql_sec_script<<EOF
 
  use mysql;
 
  #delete from mysql.user where user!='root' or host!='localhost';
 
  #grant all privileges on *.* to 'sys_admin'@'%' identified by 'MANAGER';
 
  flush privileges;
 
  EOF
 
  /usr/local/mysql/bin/mysql -u root -p$mysqlrootpwd -h localhost < /tmp/mysql_sec_script
 
  rm -f /tmp/mysql_sec_script
 
  #/etc/init.d/mysqld restart
 
  echo "============================MySQL 5.7.21 install completed========================="
 
  }
 
  function CheckInstall()
 
  {
 
  echo "===================================== Check install ==================================="
 
  clear
 
  ismysql=""
 
  echo "Checking..."
 
  if [ -s /usr/local/mysql/bin/mysql ] && [ -s /usr/local/mysql/bin/mysqld_safe ] && [ -s /etc/my.cnf ]; then
 
    echo "MySQL: OK"
 
    ismysql="ok"
 
    else
 
    echo "Error: /usr/local/mysql not found!!!MySQL install failed."
 
  fi
 
  if [ "$ismysql" = "ok" ]; then
 
  echo "Install MySQL 5.7.21 completed! enjoy it."
 
  echo "========================================================================="
 
  netstat -lntup
 
  else
 
  echo "Sorry,Failed to install MySQL!"
 
  echo "You can tail /root/mysql-install.log from your server."
 
  fi
 
  }
 
  #The installation log
 
  InitInstall 2>&1 | tee /root/mysql-install.log
 
  InstallDependsAndOpt 2>&1 | tee -a /root/mysql-install.log
 
  InstallMySQL57 > /dev/null
 
  CheckInstall 2>&1 | tee -a /root/mysql-install.log
 
  備份
 
  mysqldump  -uroot -p123456 -B  ultrax        --single-transaction  --master-data=2  > ultrax.sql
 
  -A  全備份
 
  -B  備份庫(表結構和數據)
 
  --single-transaction    預防鎖   數據一致性   確保本次會話(dump)時,不會看到其他會話已經提交了的數據。
 
  --master-data=2     注釋記錄復制信息
 
                         =1      記錄change  master to 語句
  查看SQL
 
  egrep -v "#|/*|--|^$"    ultrax.sql
 
  恢復
 
  mysql  -uroot -p123456        < /root/ultrax.sql
 
  修改密碼
 
  [mysqld]
 
  skip-grant-tables
 
  ./mysqladmin -uroot -p password
 
  update user set password=password('root') where user='root';
 
  update user set authentication_string=PASSWORD('123456')  where user='root'.
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐安县| 保定市| 阿拉善左旗| 高密市| 淮北市| 微山县| 呼和浩特市| 龙里县| 兴义市| 双鸭山市| 北海市| 集贤县| 双鸭山市| 陕西省| 都匀市| 梧州市| 聂拉木县| 尼玛县| 新郑市| 金湖县| 安平县| 罗城| 固镇县| 榆树市| 高碑店市| 买车| 冷水江市| 页游| 罗甸县| 松桃| 黔西| 商水县| 安顺市| 舒城县| 岗巴县| 枣庄市| 横山县| 巨鹿县| 汕头市| 临泉县| 宜兴市|