一.简介

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS即关系数据库管理系统(Relational Database Management System)的特点:

  • 1.数据以表格的形式出现
  • 2.每行为各种记录名称
  • 3.每列为记录名称所对应的数据域
  • 4.许多的行和列组成一张表单
  • 5.若干的表单组成database

二.安装环境搭建

四种方法
    1、通过二进制的方式安装
        1) rpm(redhat/mysql rpm)
        2) mysql glbic

优点:安装和维护都比较方便,不需要编译。
缺点:可定制性差,可移植性差,一个系统上只能安装一个mysql
        
        
    2、通过源代码编译的安装(mysql-xx.tar.gz)
        5.1源码安装
        5.5源码安装
优点:可定制性强(安装可以根据用户的需求,只安装所需要的功能)
缺点:安装复杂,所需要的时候比二进制的安装要长得多

2.1 二进制安装

1、redhat RPM
# yum list |grep mysql
mysql.x86_64                            --客户端                          
mysql-libs.x86_64                            --库包(类似于dll),可以让第三方程序调用这些库文件,扩充软件的功能。  
mysql-server.x86_64                        --服务器软件包               
mysql-bench.x86_64                    --压力测试工具包                  
mysql-connector-odbc.x86_64         --连接器                                       
mysql-devel.x86_64                         --开发包                          
mysql-test.x86_64                            --测试数据库包

1、安装软件

rpm -ivh mysqlrpm or
#yum -y install mysql-server mysql
service mysqld start

2、建立配置文件/etc/my.cnf
# vim /etc/my.cnf

[mysqld]    <---[进程名字] 对应的配置给予对应的进程名字的进程使用,mysqld是服务端
datadir=/data    <---数据库用于存放数据的数据文件所在路径
socket=/data/mysqld.sock <---套接字文件,服务启动的时候生成,服务正常关闭就删除该文件
user=mysql    <--- 服务运行的有效身份
port=3306    <--- tcp协议监听的端口

2.glibc安装

# service mysql stop    --先停止RPM包安装的mysqld
# tar xzvf mysql-5.5.25-linux2.6-x86_64_glibc.tar.gz -C /opt

参照安装文档
INSTALL-BINARY
******************************************************
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /opt
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
shell> cp support-files/mysql.server /etc/init.d/mysql.glbic
# vim /etc/init.d/mysql.glibc
basedir=/opt/mysql-glibc
*******************************************

3.源码安装5.1

# pkill mysql
# tar xzvf mysql-5.1.58.tar.gz -C /usr/local/src/
# cd /usr/local/src/mysql-5.1.58/
# ./configure --prefix=/opt/mysql-source --with-big-tables --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-charset=utf8 --with-extra-charsets=all
 --with-big-tables                    64系统支持4G的大表
 --with-mysqld-ldflags=-all-static        服务端使用静态库的方式编译
 --with-client-ldflags=-all-static   客户端使用表态库的方式编译官方称可提升mysql5%-10%左右的性能,静态编译就是把程序要用到的一些库文件给编译到程序里,那么调用方便,当然编译 软件的体积会大一点。
 --with-charset=utf8                    --指定默认的语言编码utf8
 --with-extra-charsets=all                --指定扩展的语言编码
# make && make install

# cd /opt/mysql-source/
# chown mysql.mysql . -R
# mv /etc/my.cnf /etc/my.cnf.bak.bak
# ./bin/mysql_install_db --user=mysql
# chown root . -R
# chown mysql var -R
# cp share/mysql/mysql.server /etc/init.d/mysql.souce
# vim /etc/init.d/mysql.souce
basedir=/opt/mysql-source
datadir=/opt/mysql-source/var

4.C语言编译安装

  

1.安装cmake

# tar  xzf cmake-2.8.7.tar.gz –C /usr/local

# cd /usr/local/cmake-2.8.7

# ./configure && make &&make install

2.安装mysql

shell> cmake . -L   # overview等于./confgiure --help

shell> cmake . -LH  # 查看简约的帮助,相比上一步有更详细一点的选项说明

shell> cmake . -LAH # 查看所有的配置选项,包括选项的解释说明

shell> ccmake .     #伪图形界来配置软件

shell> tar zxf  mysql-5.5.28.tar.gz –C /usr/local/

shell> cd /usr/local/mysql-5.5.28

shell> cmake . -DCMAKE_INSTALL_PREFIX=/usr/src/mysql \ --指定安装路径

-DWITH_INNOBASE_STORAGE_ENGINE=1 \     --启用innodb存储引擎

-DENABLED_LOCAL_INFILE=1 \            --允许通过本地导入数据

-DDEFAULT_CHARSET=utf8 \               --指定默认的语言编码

-DEXTRA_CHARSETS=all \                    --扩展语言编码

-DDEFAULT_COLLATION=utf8_general_ci \       --排序语言编码

-DSYSCONFDIR=/usr/src/mysql/etc \        --配置文件的目录

-DMYSQL_DATADIR=/data \                --数据目录

-DMYSQL_UNIX_ADDR=/data/mysql.sock \     --socket目录

shell> make && make install

shell> cd /opt/mysql

shell> chown -R mysql .

shell> chgrp -R mysql .

shell> scripts /mysql_install_db --user=mysql

shell> chown -R root .

shell> chown -R mysql data

shell>cp /etc/my.cnf /etc/my.cnf.bak

shell> cp support-files/my-medium.cnf /etc/my.cnf

shell> bin/mysqld_safe --user=mysql &

shell>netstat –antpl |grep mysqld  ---检验服务是否开启

3.更改配置生成mysql启动脚本

# cp support-files/mysql.server /etc/init.d/mysql.server

# ls /etc/init.d |find mys

# mv /etc/init.d/mysql.server  /etc/init.d/mysqld

# vi /etc/init.d/mysqld

测试mysql文件是否生效

# service mysqld restart

4.将mysql服务实现开机自启动

# chkconfig mysqld on

三.安装完成后环境配置

3.1.数据库基础配置,创建维护账号

select user,host,password from mysql.user;  --查看数据库用户信息

create user 'test'@'%' identified by 'CFVIRTUAL3303';  --创建远程用户

create user 'test'@'localhost' identified by 'CFVIRTUAL3303'; --创建本地用户

grant all privileges on *.* to 'test'@'%' identified by 'password' WITH GRANT OPTION;  --授权用户所有数据库权限

flush privileges;

update user set password='password' where user='yuming'; --更改用户密码

grant all privileges on mobiledb.* to 'test'@'%' WITH GRANT OPTION; --授权某个用户指定数据库

flush privileges;  ---刷新数据库权限

3.2 调整my.cnf 的默认配置参数

  1. # vim /usr/local/mysql/etc/my.cnf
  2.  
  3. 文件内容如下:
  4. [client]
  5. port = 3307
  6. socket = /usr/local/mysql/sockets/mysqld.sock
  7.  
  8. [mysqld]
  9. port = 3307
  10. socket = /usr/local/mysql/sockets/mysqld.sock
  11. log-error=/usr/local/mysql/mysql_error.log
  12. datadir=/usr/local/mysql/var
  13. relay-log = /usr/local/mysql/var/slave-relay.log
  14. relay-log-info-file=/usr/local/mysql/var/relay-log.info
  15. relay-log-index =/usr/local/mysql/var/relay-log.index
  16.  
  17. skip-external-locking
  18.  
  19. back_log = 50
  20. skip-name-resolve
  21. max_connections =2500
  22. max_connect_errors = 1000
  23.  
  24. auto-increment-increment = 2
  25. auto-increment-offset = 1
  26.  
  27. table_open_cache = 2048
  28. max_allowed_packet = 1024M
  29. binlog_cache_size = 1M
  30. max_heap_table_size = 1024M
  31. sort_buffer_size = 32M
  32. join_buffer_size = 8M
  33. thread_cache_size = 16
  34. query_cache_size = 16M
  35. query_cache_limit = 2M
  36. ft_min_word_len = 4
  37.  
  38. default-storage-engine = INNODB
  39. transaction_isolation = REPEATABLE-READ
  40. tmp_table_size = 512M
  41. log-bin=mysql-bin
  42. binlog_format=mixed
  43. expire_logs_days = 7
  44. slow_query_log
  45. long_query_time = 2
  46. server-id = 2
  47. key_buffer_size = 256M
  48. read_buffer_size = 8M
  49. read_rnd_buffer_size = 16M
  50. bulk_insert_buffer_size = 64M
  51. myisam_sort_buffer_size = 128M
  52. myisam_max_sort_file_size = 10G
  53. myisam_repair_threads = 1
  54.  
  55. myisam_recover
  56. innodb_file_per_table
  57. innodb_data_home_dir = /usr/local/mysql/var
  58. innodb_additional_mem_pool_size = 16M
  59. innodb_buffer_pool_size = 1G
  60. innodb_data_file_path = ibdata1:10M:autoextend
  61. innodb_log_group_home_dir = /usr/local/mysql/var
  62. #innodb_file_io_threads = 48
  63. innodb_read_io_threads =8
  64. innodb_write_io_threads =8
  65. innodb_thread_concurrency = 8
  66.  
  67. innodb_flush_log_at_trx_commit = 2
  68. innodb_log_buffer_size = 8M
  69. innodb_log_file_size = 256M
  70. innodb_log_files_in_group = 3
  71. innodb_max_dirty_pages_pct = 90
  72. innodb_lock_wait_timeout = 120
  73. innodb_flush_method = O_DIRECT
  74.  
  75. [mysqldump]
  76. quick
  77. max_allowed_packet = 1024M
  78.  
  79. [mysql]
  80. no-auto-rehash
  81.  
  82. [myisamchk]
  83. key_buffer_size = 512M
  84. sort_buffer_size = 512M
  85. read_buffer = 8M
  86. write_buffer = 8M
  87.  
  88. [mysqlhotcopy]
  89. interactive-timeout
  90.  
  91. [mysqld_safe]
  92. open-files-limit = 8192
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. ################################################################################
  4. #
  5. #Coding : utf-8
  6. #FileName : ist_mysql.py
  7. #Desc : 自动化安装Mysql
  8. #call : python ist_mysql.py mysql用户密码 server-id 绑定IP地址 innodb缓冲区大小 安装软件存放路径 软件安装目录 软件数据存放目录 软件日志存放目录
  9. #
  10. #example : python ist_mysql.py mysql@2015 2015110301 127.0.0.1 4G /usr/local/src /usr/local/mysql /mysql/data /mysql/logs
  11. ################################################################################
  12.  
  13. """this script for auto install mysql."""
  14.  
  15. import os
  16. import sys
  17. import pub_printlog
  18.  
  19. SHELLSTRING = '''
  20. #!/bin/bash
  21. #安装软件存放路径 %s
  22. #软件安装目录 %s
  23. #软件数据存放目录 %s
  24. #软件日志存放目录 %s
  25. #配置文件存放目录 /etc/my.cnf
  26. #sock文件存放目录 /tmp/mysql.sock
  27. #假设安装时间2015年09月09日15时
  28. #此台服务器为当日安装的第一台服务器 server-id=2015090901
  29.  
  30. #创建mysql用户
  31. id mysql
  32. groupadd -g 525 mysql
  33. useradd -g mysql -m -d /home/mysql -u 525 mysql
  34. #设置mysql用户密码
  35. passwd --stdin mysql << 'MUL'
  36. %s
  37. MUL
  38.  
  39. cd %s/
  40.  
  41. #解压安装
  42. cd ..
  43. tar -zxvf %s/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
  44. mv mysql-5.6.25-linux-glibc2.5-x86_64/ mysql
  45. cd mysql/
  46.  
  47. #创建数据目录及数据日志存放目录
  48. mkdir -p %s
  49. mkdir -p %s
  50.  
  51. #修改配置文件,里面对应的参数设置应根据系统配置做相应修改
  52. cat >>/etc/my.cnf<<'MUL'
  53. [client]
  54. #comment those three rows when use mysqlbinlog.
  55. #-------------------------------------------------
  56. #prompt="\\\\u@\\\\h:\\\\d \\\\r:\\\\m:\\\\s>"
  57. #default-character-set=utf8
  58. #no-auto-rehash
  59. #-------------------------------------------------
  60. port= 3306
  61. socket= /tmp/mysql.sock
  62.  
  63. [mysqld]
  64. ##general configuration
  65. server-id = %s
  66. #bind-address = %s
  67. user=mysql
  68. port=3306
  69. basedir=%s
  70. datadir=%s
  71. socket=/tmp/mysql.sock
  72. pid-file=%s/mysql.pid
  73. event_scheduler = 0
  74. lower_case_table_names=1
  75. character-set-server = utf8
  76. transaction-isolation = REPEATABLE-READ
  77. skip_name_resolve
  78. max_connect_errors = 100000
  79. skip-external-locking
  80. innodb_file_per_table = 1
  81. innodb_data_home_dir = %s
  82. innodb_data_file_path= ibdata1:1G:autoextend
  83. innodb_log_group_home_dir = %s
  84. innodb_buffer_pool_size= %s
  85. innodb_log_files_in_group = 3
  86. innodb_log_file_size = 256M
  87. innodb_log_buffer_size = 32M
  88. innodb_flush_log_at_trx_commit = 2
  89. innodb_lock_wait_timeout = 50
  90. key_buffer_size = 128M
  91. bulk_insert_buffer_size = 32M
  92. myisam_sort_buffer_size = 128M
  93. myisam_max_sort_file_size = 10G
  94. read_buffer_size = 2M
  95. read_rnd_buffer_size = 8M
  96. sort_buffer_size = 4M
  97. join_buffer_size = 8M
  98. max_connections = 2048
  99. open_files_limit = 65535
  100. table_open_cache = 512
  101. tmp_table_size = 256M
  102. max_heap_table_size = 256M
  103. query_cache_type = 1
  104. query_cache_size = 512M
  105. query_cache_limit = 2M
  106. query_cache_min_res_unit = 512
  107. thread_cache_size = 1024
  108. thread_stack = 256K
  109. slow_query_log=1
  110. slow_query_log_file = %s/mysql-slow.log
  111. long_query_time = 1
  112. log-error = %s/mysql-error-log.err
  113. log_warnings = 2
  114. log-bin = %s/mysql-bin
  115. binlog_format = row
  116. max_binlog_size = 1G
  117. binlog_cache_size = 4M
  118. max_binlog_cache_size = 2G
  119. sync_binlog = 0
  120. expire_logs_days = 7
  121.  
  122. ##bestpay secure configuration
  123. sql_mode=NO_AUTO_CREATE_USER
  124. local_infile=off
  125. secure_auth
  126.  
  127. MUL
  128.  
  129. #将数据目录的属主更改为mysql,否则会导致数据初始化失败
  130. chown -R mysql.mysql /mysql/
  131. ./scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql &
  132.  
  133. sleep 180
  134.  
  135. ls %s/mysql/
  136.  
  137. #重命名数据目录下的配置文件名,否则会导致部分/etc/my.cnf中的配置失效,命名规则为my+年份前两位+月日
  138. mv my.cnf my`date +%%y%%m%%d`.cnf
  139.  
  140. #检查对应的目录下初始化的数据是否正常
  141. ls %s/
  142. ls %s/
  143.  
  144. #设置PATH变量
  145. cat>>/etc/profile<<'MUL'
  146. export MYSQL_HOME=%s
  147. export PATH=$PATH:$MYSQL_HOME/bin
  148. MUL
  149.  
  150. source /etc/profile
  151.  
  152. #修改文件属主及权限
  153. chown mysql.mysql /etc/my.cnf
  154. chmod 644 /etc/my.cnf
  155.  
  156. cp %s/support-files/mysql.server /etc/init.d/mysqld
  157. chown root.root /etc/init.d/mysqld
  158. chmod 755 /etc/init.d/mysqld
  159. chown -R mysql.mysql %s
  160. chmod 755 %s
  161. chown -R mysql.mysql %s/
  162. chmod 755 %s/
  163.  
  164. #启动mysql服务
  165. service mysqld start
  166.  
  167. #设置服务自启动
  168. cat>>/etc/rc.local<<'MUL'
  169. /etc/init.d/mysqld start
  170. MUL
  171.  
  172. #安装完毕!
  173. echo 'mysql has installed! script exit.'
  174. '''
  175.  
  176. def write_file(filename, content):
  177.  
  178. """this function write shell file."""
  179.  
  180. file_object = open(filename, 'w')
  181.  
  182. try:
  183. file_object.write(content)
  184. finally:
  185. file_object.close()
  186.  
  187. if __name__ == '__main__':
  188.  
  189. pub_printlog.printalllog('ist_mysql', '开始运行。')
  190. if not len(sys.argv) == 9:
  191. pub_printlog.printlog('error', 'ist_mysql', '参数数量错误。目前只接收到%s个参数。' % (len(sys.argv)))
  192. print 'argv number wrong!'
  193. print '正确的参数传递应该为:python ist_mysql.py mysql用户密码 server-id 绑定IP地址 innodb缓冲区大小 安装软件存放路径 软件安装目录 软件数据存放目录 软件日志存放目录'
  194. pub_printlog.printalllog('ist_mysql', '运行结束。')
  195. exit()
  196. #产生SHELLSTRING脚本
  197. pub_printlog.printlog('info', 'ist_mysql', '产生SHELLSTRING脚本。')
  198. write_file('/root/ist_mysql.sh', SHELLSTRING % (sys.argv[5],
  199. sys.argv[6],
  200. sys.argv[7],
  201. sys.argv[8],
  202. sys.argv[1],
  203. sys.argv[5],
  204. sys.argv[5],
  205. sys.argv[7],
  206. sys.argv[8],
  207. sys.argv[2],
  208. sys.argv[3],
  209. sys.argv[6],
  210. sys.argv[7],
  211. sys.argv[7],
  212. sys.argv[7],
  213. sys.argv[7],
  214. sys.argv[4],
  215. sys.argv[8],
  216. sys.argv[8],
  217. sys.argv[8],
  218. sys.argv[7],
  219. sys.argv[7],
  220. sys.argv[8],
  221. sys.argv[6],
  222. sys.argv[6],
  223. sys.argv[7],
  224. sys.argv[7],
  225. sys.argv[6],
  226. sys.argv[6]
  227. ))
  228. pub_printlog.printlog('info', 'ist_mysql', 'SHELLSTRING脚本生成完毕。')
  229.  
  230. #修改权限
  231. pub_printlog.printlog('info', 'ist_mysql', '修改权限。')
  232. os.system('chmod 774 /root/ist_mysql.sh')
  233. pub_printlog.printlog('info', 'ist_mysql', '修改权限完毕。')
  234.  
  235. #执行脚本
  236. pub_printlog.printlog('info', 'ist_mysql', '执行脚本。')
  237. os.system('/root/ist_mysql.sh')
  238. pub_printlog.printlog('info', 'ist_mysql', '执行脚本完毕。')
  239.  
  240. #睡眠3分钟,等待mysql服务起来。最好的办法是进程检测。此处偷懒。
  241. #pub_printlog.printlog('info', 'ist_mysql', '睡眠3分钟。')
  242. #time.sleep(180)
  243. #pub_printlog.printlog('info', 'ist_mysql', '睡眠3分钟结束。')
  244.  
  245. #对帐号进行处理。
  246. #修改root帐号密码。
  247. #mysqladmin不识别prompt。只能用别的方法。去掉注释请增加import time模块的代码。
  248. #os.system("/usr/local/mysql/bin/mysqladmin -u root password 'root'")
  249. #os.system("/usr/local/mysql/bin/mysqladmin -u root -h 127.0.0.1 password 'root'")
  250. pub_printlog.printlog('info', 'ist_mysql', '修改root帐号密码。')
  251. os.system('''%s/bin/mysql -u root -e "%s"''' % (sys.argv[6], "update mysql.user set password=password('root') where user='root';"))
  252. os.system('''%s/bin/mysql -u root -e "%s"''' % (sys.argv[6], "flush privileges;"))
  253. pub_printlog.printlog('info', 'ist_mysql', '修改root帐号密码完成。')
  254.  
  255. #删除危险帐号。
  256. pub_printlog.printlog('info', 'ist_mysql', '删除危险帐号。')
  257. pub_printlog.printlog('info', 'ist_mysql', '删除空名与::1主机帐号。')
  258. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "delete from mysql.user where user='';"))
  259. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "delete from mysql.user where host='::1';"))
  260. OUTPUT = os.popen('hostname')
  261. HOSTNAME = OUTPUT.read().replace('\n', '').replace('\r', '')
  262. pub_printlog.printlog('info', 'ist_mysql', '删除主机名帐号。')
  263. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "delete from mysql.user where host = '%s';" % (HOSTNAME)))
  264. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "flush privileges;"))
  265. pub_printlog.printlog('info', 'ist_mysql', '删除危险帐号完成。')
  266.  
  267. #增加复制帐号,备份帐号,监控帐号。
  268. pub_printlog.printlog('info', 'ist_mysql', '增加复制帐号。')
  269. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "grant replication slave on *.* to replication@'172.%' identified by 'slave@2015';"))
  270. pub_printlog.printlog('info', 'ist_mysql', '增加备份帐号。')
  271. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "grant select, reload, lock tables, replication client on *.* to 'backup'@'localhost' identified by 'backup@2015';"))
  272. pub_printlog.printlog('info', 'ist_mysql', '增加监控帐号。')
  273. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "grant process,replication client on *.* to monitor@'localhost' identified by 'monitor@2015';"))
  274.  
  275. #删除test库。
  276. pub_printlog.printlog('info', 'ist_mysql', '删除test库。')
  277. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "drop database test;"))
  278. pub_printlog.printlog('info', 'ist_mysql', '删除test库完成。')
  279.  
  280. #修改root帐号名称。
  281. pub_printlog.printlog('info', 'ist_mysql', '修改root帐号名称。')
  282. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "update mysql.user set user='rootbp' where user='root';"))
  283. os.system('''%s/bin/mysql -u root -p'root' -e "%s"''' % (sys.argv[6], "flush privileges;"))
  284. pub_printlog.printlog('info', 'ist_mysql', '修改root帐号名称完成。')
  285.  
  286. #删除临时文件
  287. pub_printlog.printlog('info', 'ist_mysql', '删除临时文件。')
  288. os.system('rm -f /root/ist_mysql.sh')
  289. pub_printlog.printlog('info', 'ist_mysql', '删除临时文件完成。')
  290.  
  291. print "user's privileges done!"
  292. pub_printlog.printalllog('ist_mysql', '运行结束。')

mysql部署脚本

Mysql安装及自动化部署脚本方案的更多相关文章

  1. MySQL5.7多实例自动化部署脚本

    一.安装说明 ------------------------------------------------------ mysql5.7.10_onekey_install.sh自动化部署脚本支持 ...

  2. 自动化部署脚本--linux执行sh脚本

    自动化部署脚本文件目录: 运行主程序:./install.sh #!/bin/bash SCRIPTPATH=$(cd "$(dirname "$0")"; p ...

  3. linux mysql 5.7.20 部署脚本+备份脚本

    一.官网下载源码包 源码包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 检查环境,卸载老版本mysql 二.自动部署脚本 进入文件目录,执行脚本 #!/bin ...

  4. 设置ssh免密码登录脚本(hadoop自动化部署脚本一)

    设置ssh免密码登录脚本(hadoop自动化部署脚本一) 设置ssh免密码登录脚本(飞谷云大数据自动化部署脚本一) 1.#!/bin/sh2.#important note:this script i ...

  5. Jenkins持续集成-自动化部署脚本的实现

    要实现Jenkins端的持续集成,其实在CI服务配置端很容易,难点呢?就是如何实现自动化的部署.我的脚本设计就是为了解决以下难题: 难点一.如何使得自动化部署脚本更通用 我用的脚本,依赖依赖一个配置文 ...

  6. 《转载》Jenkins持续集成-自动化部署脚本的实现《python》

    本文转载自慕课网 读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续 ...

  7. python+paramiko库+svn写的自动化部署脚本

    第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一 ...

  8. 源码编译安装Apache-附一键部署脚本

    1.进入apache官网https://www.apache.org/,点击Download 2.如图选择 3.选择httpd 4.下载两个包,2.2为CentOS6使用,2.4为CentOS7使用 ...

  9. Web系统自动化部署脚本

    Web开发的项目,除了在本地直接运行外,还可能经常需要在服务器上部署. 写了个自动化部署的脚本,仅供参考. 不少地方需要配置路径,个人建议使用绝对路径,不用依赖执行脚本时所在的路径. #!/bin/s ...

随机推荐

  1. C++类构造函数、析构函数运行机理

    http://blog.sina.com.cn/s/blog_6fd68d5f0100n60h.html 前言--构造函数.析构函数的简单理解:1)构造函数---对象被创建时候调用的函数:2)析构函数 ...

  2. react native 在window 7上配置开发环境-Andorid

    参照官方配置:https://facebook.github.io/react-native/docs/getting-started.html 因为在配置的过程中遇到很多问题,在此记录一下. 1.j ...

  3. 基于Passthru的NDIS开发的个人理解

    这几天对NDIS的学习,基本思路是:首先熟悉理论知识→然后下载一个例子进行研究→最后例子自己模仿扩展→最最后尝试自己写一个新的. Passthru是微软NDIS自己写的一个框架驱动,NDIS开发者可以 ...

  4. Swift在1.2版本的变化

    从Xcode 6.3 Beta Release Notes看出,Xcode 6.3 Beta包含了很多颇为值得开发者期待的改变,共计50多处改动,同时修改了Objective-C的语法,足见苹果对Sw ...

  5. Luogu P2664 树上游戏 dfs+树上统计

    题目: P2664 树上游戏 分析: 本来是练习点分治的时候看到了这道题.无意中发现题解中有一种方法可以O(N)解决这道题,就去膜拜了一下. 这个方法是,假如对于某一种颜色,将所有这种颜色的点全部删去 ...

  6. bzoj5368 [Pkusc2018]真实排名

    题目描述: bz luogu 题解: 组合数计数问题. 首先注意排名指的是成绩不小于他的选手的数量(包括他自己). 考虑怎么增大才能改变排名. 小学生都知道,对于成绩为$x$的人,让他自己不动并让$\ ...

  7. (47)zabbix报警媒介:Ez Texting

    Ez Texting是zabbix的技术合作伙伴,主要提供短信服务,用手机注册账号,便可以使用它来发送短信了,不过他只支持美国和加拿大的手机号码,并且应该是收费的.没有美国/加拿大手机号码的朋友请绕行 ...

  8. ssh 免密码登录 与 密钥公钥原理讲解

    前言 由于最近频繁需要登录几个服务器,每次登录都需要输入密码,故相对麻烦. 由于个人服务器用于实验,故对安全性要求不是很高,故想实现ssh免密登录. 通过阅读ssh 公钥私钥认证操作及原理以及ssh公 ...

  9. 气泡小角的css实现

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> ...

  10. js对象,数组,字符串的操作

    循环绑定=>变量污染 for (var i = 0;i<lis.length;i++){ lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index) # ...