返回顶部
首页 > 资讯 > 数据库 >MySQL自动安装脚本分享
  • 546
分享到

MySQL自动安装脚本分享

2024-04-02 19:04:59 546人浏览 泡泡鱼
摘要

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

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

环境要求: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、脚本如下:

  1. #/bin/sh

  2. #px 2017-11-29

  3. #mysql install

  4. #email:kitten-pan@163.com & 752684428

  5. #version 2.0

  6. #mysql-version mysql5.7.20


  7. source_path=/usr/local/src

  8. install_path=/usr/local/mysql

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


  10. ##检测本机环境

  11. env_fun()

  12. {

  13. echo "============检测本机环境,please wait ..."

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

  15.     if [ "$username" = "mysql" ];then

  16.         echo "MySQL account is exits..."

  17.         return 10

  18.     else

  19.         echo "mysql account is not exits,ready add..."

  20.         groupadd mysql

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

  22.         return 12

  23.     fi

  24. }


  25. ##判断MySQL是否安装

  26. check_fun()

  27. {

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

  29. echo $rpm_name

  30.     if [ ! $rpm_name ];then

  31.         echo "begin check the source install,please wait for a moment..."

  32.             if [ -d $install_path ];then

  33.                 echo "source install is exist,quit..."

  34.                 exit 0

  35.             else

  36.                 echo "本机未安装MySQL,稍后为你安装..."

  37.                 install_fun

  38.                 op_fun

  39.                 

  40.             fi

  41.     else

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

  43.         read select

  44.             if [ $select = yes ];then

  45.                 rpm -e $rpm_name --nodeps

  46.                 rm -rf /var/log/mysqld.log

  47.                 check_fun

  48.             else

  49.                 exit 0

  50.             fi

  51.     fi

  52. }


  53. ###安装MySQL

  54. install_fun()

  55. {

  56. read  -p "Input a mysql version:" -t 30  mysql_version

  57. read  -p "Input a mysql port:" -t 30  mysql_port

  58. read  -p "Input a mysql_server_id:" -t 30 mysql_server_id

  59. cd $source_path && echo "解压中,please waiting..."

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

  61. ##创建数据目录

  62. mkdir -pv /data/mysqldata

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

  64. cd /usr/local && chown mysql.mysql mysql

  65. chown -R mysql.mysql /data/mysqldata

  66. cd $install_path && bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldata


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

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


  69. cat > /etc/my.cnf << EOF

  70. [client]

  71. port = 3309

  72. Socket = /tmp/mysql.sock

  73. default-character-set = utf8


  74. [mysqld]

  75. ##mysql-version=5.7.20

  76. port = 3309

  77. socket = /tmp/mysql.sock

  78. datadir = /data/mysqldata

  79. basedir = /usr/local/mysql

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

  81. user = mysql

  82. server-id = 1

  83. lower_case_table_names = 1

  84. character-set-server = utf8

  85. back_log = 300

  86. max_connections = 1000

  87. max_connect_errors = 6000

  88. open_files_limit = 65535

  89. table_open_cache = 128

  90. max_allowed_packet = 4M

  91. binlog_cache_size = 1M

  92. max_heap_table_size = 8M

  93. tmp_table_size = 16M


  94. read_buffer_size = 2M

  95. read_rnd_buffer_size = 8M

  96. sort_buffer_size = 8M

  97. join_buffer_size = 8M

  98. key_buffer_size = 4M


  99. thread_cache_size = 8

  100. query_cache_type = 0

  101. query_cache_size = 2M

  102. query_cache_limit = 2M


  103. ft_min_Word_len = 4


  104. log_bin = mysql-bin

  105. binlog_fORMat = row

  106. expire_logs_days = 30


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

  108. slow_query_log = 1

  109. long_query_time = 1

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


  111. performance_schema = 0

  112. explicit_defaults_for_timestamp


  113. skip-external-locking

  114. default-time_zone = '+8:00'


  115. default_storage_engine = InnoDB


  116. innodb_file_per_table = 1

  117. innodb_data_file_path = ibdata1:300M:autoextend

  118. innodb_open_files = 5000

  119. innodb_buffer_pool_size = 2048M

  120. innodb_write_io_threads = 4

  121. innodb_read_io_threads = 8

  122. innodb_thread_concurrency = 0

  123. innodb_purge_threads = 1

  124. innodb_flush_log_at_trx_commit = 2

  125. innodb_log_buffer_size = 128M

  126. innodb_log_file_size = 256M

  127. innodb_log_files_in_group = 2

  128. innodb_max_dirty_pages_pct = 90

  129. innodb_lock_wait_timeout = 120


  130. bulk_insert_buffer_size = 8M

  131. myisam_sort_buffer_size = 8M

  132. myisam_max_sort_file_size = 10G

  133. myisam_repair_threads = 1

  134. interactive_timeout = 28800

  135. wait_timeout = 300


  136. [mysqldump]

  137. quick

  138. max_allowed_packet = 16M


  139. [myisamchk]

  140. key_buffer_size = 8M

  141. sort_buffer_size = 8M

  142. read_buffer = 4M

  143. write_buffer = 4M


  144. EOF

  145. echo "export PATH=/$PATH:/usr/local/mysql/bin">>/etc/profile

  146. echo 'export MYSQL_PS1="(\u@\h:\p) [\d]>"' >> /etc/profile

  147. source /etc/profile


  148. service mysqld restart

  149. }


  150. op_fun()

  151. {

  152. chmod 755 /etc/init.d/mysqld

  153. chkconfig --add mysqld

  154. chkconfig --level 345 mysqld on

  155. }



  156. main(){

  157. echo "###==================================================###"

  158. echo "###welcome to make install mysql with this script###"

  159. echo "###copyright 2013 by px###"

  160. echo "###==================================================###"

  161. sleep 5

  162. env_fun

  163. re=$?

  164. if [ re = 10 ];then

  165.     check_fun

  166. else

  167.     check_fun

  168. fi

  169. }

  170. main

  171. exit 0

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

点击(此处)折叠或打开

  1. sh install_mysql.sh

  2. ###==================================================###

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

  4. ###copyright 2013 by px###

  5. ###==================================================###

  6. ============检测本机环境,please wait ...

  7. mysql account is not exits,ready add...


  8. begin check the source install,please wait for a moment...

  9. 本机未安装MySQL,稍后为你安装...

  10. Input a mysql version:5.7.20

  11. Input a mysql port:3309

  12. Input a mysql_server_id:1

  13. 解压中,please waiting...

3、自动安装完毕 启动

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


4、登入MySQL 修改密码

点击(此处)折叠或打开

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

  2. Enter password:

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

  4. Your MySQL connection id is 3

  5. Server version: 5.7.20-log


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


  7. Oracle is a reGIStered trademark of Oracle Corporation and/or its

  8. affiliates. Other names may be trademarks of their respective

  9. owners.


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


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

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

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

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

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

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

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

您可能感兴趣的文档:

--结束END--

本文标题: MySQL自动安装脚本分享

本文链接: https://lsjlt.com/news/60006.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL自动安装脚本分享
    本篇内容介绍了“MySQL自动安装脚本分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • vtune自动安装脚本分享
    #!/bin/bash#!/usr/bin/expect -f#!/usr/bin/env bashyum install -y expect wgetcd /rootwget http://172.16....
    99+
    2022-06-04
    脚本 vtune
  • mysql源码安装脚本分享
    #!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHclear;Sys...
    99+
    2022-06-04
    脚本 源码 mysql
  • mysql源码安装的脚本分享
    这篇文章主要讲解了“mysql源码安装的脚本分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql源码安装的脚本分享”吧!代码如下:#!/bin/bashPATH=/bin:/sbin...
    99+
    2023-06-09
  • 自动备份MYSQL的linux脚本分享
    本篇内容主要讲解“自动备份MYSQL的linux脚本分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“自动备份MYSQL的linux脚本分享”吧! 这是我写的...
    99+
    2024-04-02
  • mysql数据库自动备份脚本分享
    前几篇博客已经相继公开了去转盘网的所有技术细节,如下:百度网盘爬虫中文分词算法邀请好友注册js分页部分代码这篇博客我将继续公开数据库自动备份的代码。可以这么说,没有数据库,一切就是个蛋,没有数据库备份,一切...
    99+
    2024-04-02
  • ftp自动上传脚本分享
    #!/bin/sh if [ $# != 2 ] then echo "Usage: ftp-put.sh binary 192.192.4.101"...
    99+
    2022-06-04
    脚本 上传 ftp
  • linux自动重启tomcat脚本分享
    #!/bin/bash##chkconfig: 35 88 14#description: tomcat auto start script#script by okhelpercase "$1" inst...
    99+
    2022-06-04
    脚本 自动重启 linux
  • vtune自动化安装脚本
    #!/bin/bash#!/usr/bin/expect -f#!/usr/bin/env bashyum install -y expect wgetcd /rootwget http://172.16...
    99+
    2022-06-04
    脚本 vtune
  • MySQL8.0 Mgr自动安装脚本
    MySQL8.0 自动安装脚本mysql8_install.shmy_test.cnfmysql-8.0.18-linux-glibc2.12-x86_64.tar.xz三个文件放在同一个目录下,例如/ro...
    99+
    2024-04-02
  • MySQL如何实现各版本自动安装脚本
    这篇文章主要介绍MySQL如何实现各版本自动安装脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 描述:    1 . 所有版本都...
    99+
    2024-04-02
  • linux安装php扩展脚本分享
    测试环境:ubuntu 12.04 php 5.3.x #!/bin/bash#Program:# Accomplish to expand the specified function only one...
    99+
    2022-06-04
    脚本 linux php
  • mysql中如何实现自动化脚本安装的shell脚本
    这篇文章将为大家详细讲解有关mysql中如何实现自动化脚本安装的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本处理逻辑流程图    ...
    99+
    2024-04-02
  • linux自动清理日志脚本分享
    1.做自动部署系统时精简的一个脚本,主要功能是清理所有目录的日志 2.根据给定日志目录,删除时间 结合crontab进行清理日志,清理完成后,后在/var/log/deltelog/ 生成按照月的清理日志 ...
    99+
    2022-06-04
    脚本 日志 linux
  • 4个的Python自动化脚本分享
    目录1、将 PDF 转换为音频文件 2、从列表中播放随机音乐 3、不再有书签了 4、清理下载文件夹 前言: 大家平时有没有注意到你每天可能会执行许多的重复的任务,例如阅读 pdf、播...
    99+
    2024-04-02
  • mysql二进制文件安装配置脚本分享
    这篇文章主要介绍“mysql二进制文件安装配置脚本分享”,在日常操作中,相信很多人在mysql二进制文件安装配置脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysq...
    99+
    2024-04-02
  • 自动监控主从MySQL同步的SHELL脚本分享
    这篇文章主要介绍“自动监控主从MySQL同步的SHELL脚本分享”,在日常操作中,相信很多人在自动监控主从MySQL同步的SHELL脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • MySQL5.6一键编译安装脚本分享
    本篇内容主要讲解“MySQL5.6一键编译安装脚本分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL5.6一键编译安装脚本分享”吧! ...
    99+
    2024-04-02
  • 实例分享8个Python自动化脚本
    本篇文章给大家带来了关于Python的相关知识,其中主要整理了自动化脚本的相关问题,包括了自动化阅读网页新闻、自动化数据探索、自动发送多封邮件等等内容,下面一起来看一下,希望对大家有帮助。【相关推荐:Python3视频教程 】每天你都可能会...
    99+
    2022-08-08
    python
  • centos每天自动备份mysql数据库的脚本分享
    本篇内容主要讲解“centos每天自动备份mysql数据库的脚本分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“centos每天自动备份mysql数据库的脚本...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作