Ansible批量安装mysql数据

2024-05-30 06:51:11

1.构建安装目录

mkdir -p /ansible/roles/mysql/{defaults,files,handlers,meta,tasks,templates,vars}
  • defaults 默认寻找路径

  • tasks 存放playbooks路径

  • files 存放文件和脚本,copy模块文件搜索路径

  • templates 模版存放路径

  • handlers notify调用部分playbook存放路径

  • vars roles内变量存放路径

2.文件目录结构

wKiom1mv1piCG0nOAABrLM-F0IY251.jpg-wh_50

3.playbooks & Shell

/etc/ansible/roles/mysql/files/install_mysql.sh脚本内容为:

#!/bin/bash
#
DBDIR='/data/mysql/'
PASSWD='fanshine123'
[ -d $DBDIR ] || mkdir $DBDIR -p
id mysql &> /dev/null
if [ $? -ne 0 ];thenuseradd mysql -s /sbin/nologin -M
fi
chown -R mysql.mysql $DBDIR
cd /tmp/
tar xf mysql-5.6.13.tar.gz
cd mysql-5.6.13
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=$DBDIR \
-DMYSQL_UNIX_ADDR=$DBDIR/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EMBEDDED_SERVER=1
if [ $? != 0 ];thenecho "make error!"exit 1
fi
make && make install
if [ $? -ne 0 ];thenecho "install mysql is failed!" && /bin/false
fi
sleep 2
ln -s /usr/local/mysql/bin/* /usr/bin/
cp -f /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
cp -f /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql --datadir=$DBDIR --user=mysql
if [ $? -ne 0 ];thenecho "install mysql is failed!" && /bin/false
fi
/etc/init.d/mysqld start
if [ $? -ne 0 ];thenecho "install mysql is failed!" && /bin/false
fi
chkconfig --add mysqld
chkconfig mysqld on
/usr/local/mysql/bin/mysql -e "update mysql.user set password=password('$PASSWD') where host='localhost' and user='root';"
/usr/local/mysql/bin/mysql -e "update mysql.user set password=password('$PASSWD') where host='127.0.0.1' and user='root';"
/usr/local/mysql/bin/mysql -e "delete from mysql.user where user='';"
/usr/local/mysql/bin/mysql -e "flush privileges;"
if [ $? -eq 0 ];thenecho "ins_done"
fi

/etc/ansible/roles/mysql/tasks/main.yml文件内容为:

- name: copy mysql to clientcopy: src=mysql-5.6.13.tar.gz dest=/tmp/mysql-5.6.13.tar.gz
- name: copy install_script to clientcopy: src=install_mysql.sh dest=/tmp/install_mysql.sh owner=root group=root mode=755
- name: install mysqlshell: /bin/bash /tmp/install_mysql.sh

/etc/ansible/mysql.yml文件内容为:

- hosts: webserver remote_user: rootroles:- mysql

4.执行安装

[root@Centos ansible]# ansible-playbook mysql.yml --syntax-check --检查语法
[root@Centos ansible]# ansible-playbook  mysql.yml --执行安装

wKiom1mv19-zzCs3AAFJOQ-zUNs072.jpg-wh_50

转载于:https://blog.51cto.com/bovin/1963212

Ansible批量安装mysql数据相关推荐

  1. mysql安装设置数据目录下,linux下安装mysql数据+配置

    <linux下安装mysql数据+配置>由会员分享,可在线阅读,更多相关<linux下安装mysql数据+配置(2页珍藏版)>请在人人文库网上搜索. 1.Redhat下安装My ...

  2. phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名 呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介 ...

  3. 修改mysql表前缀_使用phpMyAdmin批量修改Mysql数据表前缀的方法

    多个网站共用一个Mysql数据库时,为使数据库管理不混乱,一般采用不同的网站使用不同前缀名的方式进行区分.而如何批量修改已有数据库的前缀名呢?全部导出修改后再导入?还是一个表一个表的修改?今天我要介绍 ...

  4. Navicat通过存储过程批量插入mysql数据

    场景 有时需要做测试,要向数据库中插入一些测试数据,成百上千条,这时候通过存储过程就可以做到. 实现 打开Navicat,找到上面函数,点击函数 点击新建函数 选择类型为过程 输入名字和参数 点击完成 ...

  5. ansible批量安装服务器思路

    2019独角兽企业重金招聘Python工程师标准>>> 在阿里云上新建N台服务器,并设置好内网IP1.推送公钥 ssh-copy-id root@ip (root密码是一样的,机器多 ...

  6. 批量更新mysql数据(万条数据秒完成)

    1.常规方法,利用executemany批量更新数据(数据量小用这个就够了) import pymysql import pandas as pd conn = pymysql.connect(hos ...

  7. php 批量修改mysql 数据表,字段 字符集编码

    $sql="SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '数据库名称'";$r=$pdo->qu ...

  8. mysql国内源码安装,mysql 源码包安装

    mysql 源码包安装 #downloads 不同的mysql rpm包介绍: MySQL-devel:mysql开发包.针对mysql进行二次开发使用 MySQL-embedded:嵌入式环境使用的 ...

  9. Python用tushare库获取股票数据批量存入mysql成功

    之前用了很多方法无法批量存入mysql中,现在这个方法可以了 首先你需要安装tushare,现在最新版本是1.2.15 2018/10/15 如果之前没有安装,请用"开始-所有程序-附件-命 ...

最新文章

  1. SpringBoot-web开发(三): 模板引擎Thymeleaf
  2. mysql字段定义成text类型的严重影响查询性能
  3. 编码,深浅拷贝和文件操作
  4. 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
  5. python输出数据到excel-python实现数据导出到excel的示例
  6. python基础练习_1
  7. Sentinel+Nacos实现Sentinel的持久化规则,就很nice!
  8. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(二)
  9. 如何学好Python自动化,每个进阶的测试人都应该看看
  10. hbuilder新建web apk项目_【CUCS】Ionic利用你喜欢的(html css js) web技术创建跨平台的移动app...
  11. SQL server数据库增删改查练习
  12. typeof的用法 typeof的返回值是一个字符串 返回的字符串类别
  13. C/C++[codeup 2044]神奇的口袋
  14. UiPath视频教程
  15. 抖音:时间熔炉的诞生
  16. 微信养号技巧及防封攻略(微信养号防封大全)
  17. 【每日一P】简单实用的调色原理
  18. 为什么说梯度的反方向是函数下降最快的方向
  19. 轮播图左右按钮会被选中的问题
  20. 学计算机进中央电视台,厉害了,我们的计算机!

热门文章

  1. jenkins添加git源码目录时报Error performing command错误
  2. Java虚拟机规范阅读(二)IEEE754简介以及Java虚拟机中的浮点算法
  3. linux 调试利器gdb, strace, pstack, pstree, lsof
  4. 如何创建可扩展表视图中的iOS 学习和拓展优化(有待更新)
  5. Android 占位符 %1$s %1$d
  6. Windows 7 部署(一):安装和部署简述
  7. AjaxControlToolKit之DragPanelExtender用法
  8. Dubbo2.6.5+Nacos注册中心(代替Zookeeper)
  9. android 每个块半径不同的扇形图,自定义view
  10. 彻底理解js中this的指向