MySQL编译安装——一键脚本

x33g5p2x  于2021-10-31 转载在 Mysql  
字(2.3k)|赞(0)|评价(0)|浏览(471)
  1. #!/bin/bash
  2. #联网下载两个源码包,包在我的云主机上
  3. #安装包下载在 /data 目录
  4. #编译安装需较长时间,请耐心等待
  5. mkdir /data
  6. wget http://101.34.22.188/mysql-5.7.17/boost_1_59_0.tar.gz -P /data
  7. wget http://101.34.22.188/mysql-5.7.17/mysql-5.7.17.tar.gz -P /data
  8. tar zxvf /data/mysql-5.7.17.tar.gz -C /opt
  9. tar zxvf /data/boost_1_59_0.tar.gz -C /usr/local
  10. mv /usr/local/boost_1_59_0 /usr/local/boost
  11. yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake make git perl expat-devel pcre-devel pcre
  12. useradd -s /sbin/nologin mysql
  13. cd /opt/mysql-5.7.17/
  14. cmake \
  15. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  16. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  17. -DSYSCONFDIR=/etc \
  18. -DSYSTEMD_PID_DIR=/usr/local/mysql \
  19. -DDEFAULT_CHARSET=utf8 \
  20. -DDEFAULT_COLLATION=utf8_general_ci \
  21. -DWITH_EXTRA_CHARSETS=all \
  22. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  23. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  24. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  25. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  26. -DMYSQL_DATADIR=/usr/local/mysql/data \
  27. -DWITH_BOOST=/usr/local/boost \
  28. -DWITH_SYSTEMD=1
  29. cd /opt/mysql-5.7.17/
  30. make -j 4 && make install
  31. echo > /etc/my.cnf
  32. cat > /etc/my.cnf<<EOF [client] port = 3306 default-character-set=utf8 socket=/usr/local/mysql/mysql.sock [mysql] port = 3306 default-character-set=utf8 socket=/usr/local/mysql/mysql.sock auto-rehash [mysqld] user = mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data port = 3306 character-set-server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket=/usr/local/mysql/mysql.sock bind-address = 0.0.0.0 skip-name-resolve max_connections=2048 default-storage-engine=INNODB max_allowed_packet=16M server-id = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES EOF
  33. chown -R mysql.mysql /usr/local/mysql/
  34. chown mysql.mysql /etc/my.cnf
  35. echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
  36. source /etc/profile
  37. cd /usr/local/mysql/bin/
  38. ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  39. cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
  40. systemctl daemon-reload && systemctl start mysqld && systemctl enable mysqld
  41. ln -s /usr/local/mysql/bin/mysql /usr/local/sbin/
  42. pgrep "mysqld" &> /dev/null
  43. if [ $? -eq 0 ];then
  44. echo -e "\033[32mmysqld服务运行正常\033[0m"
  45. else
  46. echo -e "\033[31mmysqld服务运行异常,请检查\033[0m"
  47. fi
  48. sleep 2
  49. echo ' '
  50. echo -e "\033[32mMySQL 没有设置密码,执行 mysql 命令登录\033[0m"

相关文章

最新文章

更多