MySQL最新版本 MySQL5.7.11 批量自动化一键式安装(转)
--背景云端
以前都喜欢了源码安装MySQL,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了。
现在业务发展了,开始在云上部署了,需要经常安装mysql,有的时候一次部署很多台,如果还是源码安装一个个去执行,效率就比较差了,所以准备采用更快效率的二进制来实现一键式自动化安装mysql。
1,mysql二进制安装包下载地址
下载地址:http://download.csdn.net/detail/mchdba/9488918,包括
1) 一键式自动安装脚本:auto_install_mysql5.7.sh;
2) Mysql参数文件my.cnf
3) Mysql5.7二进制安装包,在readme_mysql5.7_down_address.txt文件里面有下载地址连接,比mysql官网下载速度快很多倍。
PS:下载之后,将脚本已经所有软件放在同一个目录比如/soft目录下面。
blog源地址:http://blog.csdn.net/mchdba/article/details/51138063,谢绝转载。
2,自动化初始化linux服务器脚本
执行bash -x init_linux.sh就开始自动初始化linux服务器了, 自动化安装脚本init_linux.sh如下,下载地址为http://download.csdn.net/detail/mchdba/9488929:
|
#1 instal jdk , add tomcat user sh init_jdk.sh useradd tomcat mkdir -p /usr/local/app/ chown -R tomcat.tomcat /usr/local/app #2 # vim /etc/sudoers echo "tomcat ALL=(ALL) ALL" >> /etc/sudoers #3 set limits.conf echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf ulimit -a #4 kernel optimization grep "net.ipv4.tcp_keepalive_time = 30" /etc/sysctl.conf if [ $? != 0 ] then cat <<EOF>> /etc/sysctl.conf net.ipv4.tcp_max_tw_buckets = 6000 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_tw_reuse = 1 net.core.somaxconn = 262144 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_fin_timeout = 1 net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_keepalive_probes = 6 net.ipv4.tcp_keepalive_intvl = 5 net.ipv4.tcp_timestamps = 0 EOF sed -i 's/net.bridge.bridge-nf-call-ip6tables = 0/#net.bridge.bridge-nf-call-ip6tables = 0/g' /etc/sysctl.conf sed -i 's/net.bridge.bridge-nf-call-iptables = 0/#net.bridge.bridge-nf-call-iptables = 0/g' /etc/sysctl.conf sed -i 's/net.bridge.bridge-nf-call-arptables = 0/#net.bridge.bridge-nf-call-arptables = 0/g' /etc/sysctl.conf fi sysctl -p #5 selinux disabled sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/id:5:initdefault:/id:3:initdefault:/g' /etc/inittab #6 stop some services service iptables stop sh stopservice.sh #7 see the version #less /etc/issue #8 set 90-nproc sed -i 's/* soft nproc 1024/#* soft nproc 1024/g' /etc/security/limits.d/90-nproc.conf sed -i 's/root soft nproc unlimited/* soft nproc unlimited/g' /etc/security/limits.d/90-nproc.conf #9 system basic lib package install yum install gcc gcc-c++ ncurses-devel.x86_64 cmake.x86_64 libaio.x86_64 bison.x86_64 gcc-c++.x86_64 bind-utils wget curl curl-devel perl openssh-clients setuptool sysstat -y yum search rz -y yum install -y lrzsz.x86_64 #10 set shanghai time cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime hwclock #11 restart the linux server shutdown -r now |
3,自动化安装脚本
执行脚本bash -x auto_install_mysql5.7.sh,开始一键式安装,自动化安装脚本如下:
|
# install the basie lib yum install cmake -y groupadd mysql useradd -g mysql mysql autoreconf --force --install libtoolize --automake --force automake --force --add-missing yum install -y libtoolize yum install gcc gcc-c++ -y yum install -y ncurses-devel.x86_64 yum install -y cmake.x86_64 yum install -y libaio.x86_64 yum install -y bison.x86_64 yum install -y gcc-c++.x86_64 yum install make -y # add mysql account,create the basic directory mkdir -p /data/mysql/data cd /data/mysql/data chown -R mysql.mysql /data chown -R mysql.mysql /usr/local/mysql5711 mkdir -p /data/mysql/binlog/ chown -R mysql.mysql /data/mysql/binlog/ cd /usr/local/mysql5711/ # init databases rm -rf /data/mysql/data/* cp my.cnf /usr/local/mysql5711/my.cnf time bin/mysqld --defaults-file=/usr/local/mysql5711/my.cnf --initialize --user=mysql # set the auto start on linux server started cp support-files/mysql.server /etc/init.d/mysql chmod 700 /etc/init.d/mysql echo "export PATH=$PATH:/usr/local/mysql5711/bin">>/etc/profile source /etc/profile chkconfig --add mysql # do a soft link to start mysql cd /usr/local/ ln -s /usr/local/mysql5711 mysql # remove default my.cnf mv /etc/my.cnf /tmp/ # set the default password /usr/local/mysql/bin/mysqld_safe --skip-grant-tables --skip-networking & /usr/local/mysql/bin/mysql -uroot --password='' --socket='/usr/local/mysql/mysql.sock' -e " update mysql.user set authentication_string=password('dns_yuerld') where user='root' and Host = 'localhost'; flush privileges;" /usr/local/mysql/bin/mysql -uroot --password='dns_yuerld' --socket='/usr/local/mysql/mysql.sock' -e " set PASSWORD=PASSWORD('dns_yuerld'); create database t; create table t1 select 1 as a; select * from t1;" # restart the mysql server service mysql restart # check the test /usr/local/mysql/bin/mysql -uroot --password='dns_yuerld' --socket='/usr/local/mysql/mysql.sock' -e " select * from t1;" |
4,批量安装很多mysql实例
5,why?采用二进制安装而不采用源码安装
主要是源码安装在make环节需要消耗太多时间,一次源码安装mysql需要很久,而二进制安装免去了configure、make、make install这一步骤,大大缩减了安装时间提升了效率,单台安装mysql感觉不大,如果一次性安装成千上万台,这个差距就是天上地下咯。
另外:安装过程中要实时查看控制台信息,如果有诡异的错误信息,要及时排查。
MySQL最新版本 MySQL5.7.11 批量自动化一键式安装(转)的更多相关文章
- azure 云上MySQL最新版本 MySQL5.7.11 批量自动化一键式安装 (转)
--背景云端 以前都喜欢了源码安装mysql,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...
- 安装Mysql最新版本mysql-5.7.10-winx64出现的几个问题解决
电脑是64位的安装不了Windows (x86, 32-bit),Mysql installer MSI ,然后下载了Windows (x86, 32-bit), ZIP Archive 这种是免安装 ...
- C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装
原文:C# 制作Java +Mysql+Tomcat 环境安装程序,一键式安装 要求: JDK.Mysql.Tomcat三者制作成一个安装包, 不能单独安装,安装过程不显示三者的界面, 安装完成要配置 ...
- 修改WAMPServer(Apache+PHP+MySQL一键式安装)中mysql默认空密码
Note:在EclipsePHP中配置WorkSpace时,将工作目录指到执行PHP代码的www目录下 ,便于在Eclipse下编写PHP项目 eg:D:\KelvinSoftwar ...
- 全新安装mysql最新版本
写在前面: 下面写的东西只是最近安装的一个说明,是在系统中没存在mysql的情况下安装的,后期会根据官方文档写一个详细有价值的文档 安装原理:利用mysql官方的mysql_apt-repositor ...
- 官网下载MySQL最新版本的安装包
下载地址:http://www.mysql.com/downloads/ 1.选择下载社区版本 MySQL Community Edition (GPL)Community (GPL) Downloa ...
- 安装Windows 64 位 mysql 最新版本解压包中没有data目录和my-default.ini及服务无法启动的快速解决办法
mysql官网下载地址:https://dev.mysql.com/downloads/mysql/ 首先安装包解压后,没有网上教程里面提到的data文件夹和my-default.ini 配置环境变量 ...
- docker 运行mysql最新版本用navicat连接报错:1251
主要是:新版的mysql的加密方式发生了变化,解决方法如下: 1:进入docker容器: docker exec -it mysql(启动mysql时候起的别名) /bin/bash 2:登陆my ...
- Linux安装mysql最新版本纪要
http://blog.csdn.net/frt007/article/details/50184143 http://blog.csdn.net/wb96a1007/article/details/ ...
随机推荐
- Django组件 用户认证,form
auth模块 在进行用户登陆验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中: 如果用户存在于数据库中,然后再验证用户输入的密码,这样一来就要自己编写大量的代码 ...
- Python3.4 用 pip 安装lxml时出现 “Unable to find vcvarsall.bat ”
我的python版本是Python 3.5 该问题的产生是在windows环境中,python 的 Setup需要调用一个vcvarsall.bat的文件,该文件需要安装c++编程环境才会有.网上的方 ...
- ssm文件上传下载比较详细的案例
背景:ssm框架 接下来,我会介绍单文件上传,下载,多文件的上传,下载,使用ajax进行文件的上传下载,和普通的表单提交的文件上传下载. 只要做项目,总是少不了文件的操作,好了废话不多说,直接上代码! ...
- SpringMVC传递参数和获取参数以及返回数据
1.传递form表单,参数接收到对象,name和对象属性对应上即可: 2.springmvc不能直接通过form表单传递多个对象的list集合,要么采用ajax传递,要么采用封装了list属性的b ...
- 【bzoj1899】[Zjoi2004]Lunch 午餐(贪心+dp)
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=1899 显然为了节省时间,吃饭慢的人要先打饭.于是我们可以先把所有人按吃饭时间排序,于是 ...
- JavaWeb -- Jsp中的 EL表达式
lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...
- Spring初学之bean的生命周期
实体Bean: Car.java: package spring.beans.cycle; public class Car { private String name; private int pr ...
- 彻底弄清python的切片
lis = range(100) # [0, 1, 2, 3, ..., 99] # 取前10个 lis[:10] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 取后10个 l ...
- 通过YUM命令查找对应命令是通过何种软件提供的
# yum whatprovides [命令]
- 动态链接库(dll)文件的动态调用(使用动态链接库,解析Wis文件--测井数据文件的一种)
在画出井眼轨迹后,老师又给了三口井的数据,不过这次给的数据是WIS格式的,可以使用一个动态链接库进行解析,解析结束后会生成一个固定格式的txt文件,然后再读取txt文件,画井眼轨迹. 学长给了一个可以 ...