0

0

集群运维自动化工具ansible使用playbook安装mysql_MySQL

php中文网

php中文网

发布时间:2016-06-01 13:06:51

|

1434人浏览过

|

来源于php中文网

原创

Mysql集群

上次介绍了如何使用ansible playbook安装zabbix客户端(http://www.bitscn.com/article/52158.htm),这次介绍一下如何使用playbook安装mysql。

下面是安装mysql的信息:

mysql_basedir: /data/mysql/basedir     源码目录mysql_datadir: /data/mysql/datadir     数据目录mysql_user: mysql          mysql用户mysql_database_user: root        数据库用户mysql_passwd: 'E4yR3WnoluSFTCBAI'      数据库密码mysql_port: 3306          mysql监听端口mysql_sock: /data/mysql/datadir/mysql.sock   mysql的sockmysql_charset: utf8         mysql字符集mysql_collation: utf8_general_ci      mysql排序方式mysql_version: Percona-Server-5.5.21-rel25.1.tar.gz mysql版本

下面是安装mysql的playbook结构

10:24:06 # tree mysql_*mysql_delete├── files├── handlers├── meta│ └── main.yml├── tasks│ ├── delete.yml│ └── main.yml├── templates└── vars └── main.ymlmysql_install├── files│ └── mysql.tar.gz├── handlers├── meta│ └── main.yml├── tasks│ ├── copy.yml│ ├── delete.yml│ ├── install.yml│ └── main.yml├── templates│ ├── install_mysql.sh│ ├── my.cnf│ ├── mysqld│ └── mysql_security.sh└── vars └── main.yml12 directories, 15 files

playbook的mysql安装的是

10:32:06 # cat mysql_install.yml ---- hosts: "{{host}}" remote_user: "{{user}}" gather_facts: True roles: - common - mysql_install

playbook的mysql协助的是

10:32:44 # cat mysql_delete.yml ---- hosts: "{{host}}" remote_user: "{{user}}" gather_facts: True roles: - mysql_delete

由于在上篇安装zabbix客户端已经介绍了结构,所以现在不介绍了。

10:26:00 # time ansible-playbook mysql_install.yml --extra-vars "host=192.168.240.17 user=root" --private-key=/root/test.pem PLAY [192.168.240.17] ********************************************************* GATHERING FACTS *************************************************************** ok: [192.168.240.17]TASK: [common | Install initializtion require software] *********************** changed: [192.168.240.17]TASK: [mysql_install | Copy Mysql Software To Redhat Client] ****************** changed: [192.168.240.17]TASK: [mysql_install | Create Mysql User In Redhat Client] ******************** changed: [192.168.240.17]TASK: [mysql_install | Copy Mysql Start Script To Redhat Client] ************** changed: [192.168.240.17]TASK: [mysql_install | Copy Install Mysql Script To Redhat Client] *********** changed: [192.168.240.17]TASK: [mysql_install | Copy Mysql Config To Redhat Client] ******************** changed: [192.168.240.17]TASK: [mysql_install | Copy Mysql Security Script To Redhat Client] *********** changed: [192.168.240.17]TASK: [mysql_install | Create Mysql Install Dir] ****************************** ok: [192.168.240.17]TASK: [mysql_install | Uncompression Mysql Software To Redhat Client] ********* changed: [192.168.240.17]TASK: [mysql_install | Modify Mysql Dir Permission In Redhat Client] ********** ok: [192.168.240.17] => (item=/data/mysql/datadir)ok: [192.168.240.17] => (item=/data/mysql/basedir)TASK: [mysql_install | Install Mysql Script In Redhat Client] ***************** changed: [192.168.240.17]TASK: [mysql_install | Start Myql Security Script In Redhat Client] *********** changed: [192.168.240.17]TASK: [mysql_install | Add Boot Start Mysql Service In Redhat Client] ********* changed: [192.168.240.17]TASK: [mysql_install | Delete Mysql compression Software In Redhat Client] **** changed: [192.168.240.17]PLAY RECAP ******************************************************************** 192.168.240.17    : ok=15 changed=12 unreachable=0 failed=0 real 2m1.596suser 0m8.815ssys 0m0.848s

2、安装后测试

登陆192.168.240.17的测试机查看mysql安装情况

InsCode
InsCode

InsCode 是CSDN旗下的一个无需安装的编程、协作和分享社区

下载
[root@ip-10-10-240-21 tmp]# lltotal 16lrwxrwxrwx 1 root root 30 Jul 13 22:27 mysql.sock -> /data/mysql/datadir/mysql.sock-rw------- 1 root root 256 Jul 10 06:07 tmp.0PLkgCq81n-rw------- 1 root root 197 Jul 9 05:35 yum_save_tx-2014-07-09-09-35ibcBiO.yumtx-rw-rw-r-- 1 zabbix zabbix 320 Jul 10 21:39 zabbix_agentd.log-rw-rw-r-- 1 zabbix zabbix 5 Jul 10 21:39 zabbix_agentd.pid[root@ip-10-10-240-21 tmp]# ps -ef|grep mysqlroot  21333  1 0 22:27 ?  00:00:00 /bin/sh /data/mysql/basedir/bin/mysqld_safe --defaults-file=/data/mysql/datadir/my.cnf --datadir=/data/mysql/datadir --pid-file=/data/mysql/datadir/mysql.pidmysql 22156 21333 2 22:27 ?  00:00:08 /data/mysql/basedir/bin/mysqld --defaults-file=/data/mysql/datadir/my.cnf --basedir=/data/mysql/basedir --datadir=/data/mysql/datadir --plugin-dir=/data/mysql/basedir/lib/plugin --user=mysql --log-error=/data/mysql/datadir/mysql-error.log --open-files-limit=10240 --pid-file=/data/mysql/datadir/mysql.pid --socket=/data/mysql/datadir/mysql.sock --port=3306root  22440 20233 0 22:33 pts/0 00:00:00 grep mysql[root@ip-10-10-240-21 tmp]# ll /data/mysql/total 8drwxr-xr-x 13 mysql mysql 4096 Jun 26 03:59 basedirdrwxr-xr-x 4 mysql mysql 4096 Jul 13 22:28 datadir[root@ip-10-10-240-21 tmp]# ll /etc/init.d/mysqld -rwxr-xr-x 1 root root 10905 Jul 13 22:27 /etc/init.d/mysqld[root@ip-10-10-240-21 tmp]# /etc/init.d/mysqld statusMySQL (Percona Server) running (22156)      [ OK ][root@ip-10-10-240-21 tmp]# chkconfig --list|grep mysqlmysqld   0:off 1:off 2:on 3:on 4:on 5:on 6:off[root@ip-10-10-240-21 tmp]# mysql -h 192.168.240.17 -u root -pE4yR3WnoluSFTCBAIERROR 1045 (28000): Access denied for user 'root'@'192.168.240.17' (using password: YES)[root@ip-10-10-240-21 tmp]# mysql -h 10.10.240.21 -u root -pE4yR3WnoluSFTCBAIWelcome to the MySQL monitor. Commands end with ; or /g.Your MySQL connection id is 8Server version: 5.5.21-log Source distributionCopyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql> show databases;+--------------------+| Database   |+--------------------+| information_schema || mysql    || performance_schema |+--------------------+3 rows in set (0.00 sec)mysql> use mysqlReading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> select host,user,password from user;+--------------+--------+-------------------------------------------+| host   | user | password         |+--------------+--------+-------------------------------------------+| 10.10.240.21 | root | *BE78618CBAFFF409CE17D81579C1678B94439BE1 || %   | zabbix | *DEEF4D7D88CD046ECA02A80393B7780A63E7E789 |+--------------+--------+-------------------------------------------+2 rows in set (0.00 sec)

可以看到已经按照我的要求安装完成,下面在进行删除测试。

3、删除

10:49:18 # time ansible-playbook mysql_delete.yml --extra-vars "host=192.168.240.17 user=root" --private-key=/root/test.pem PLAY [192.168.240.17] ********************************************************* GATHERING FACTS *************************************************************** ok: [192.168.240.17]TASK: [mysql_delete | Stop Mysql Service] ************************************* changed: [192.168.240.17]TASK: [mysql_delete | Delete Mysql Boot Start Script] ************************* changed: [192.168.240.17]TASK: [mysql_delete | Delete Mysql Dir And Socket] **************************** changed: [192.168.240.17]TASK: [mysql_delete | Delete Mysql User] ************************************** changed: [192.168.240.17]TASK: [mysql_delete | Delete Mysql Service Start Script] ********************** changed: [192.168.240.17]PLAY RECAP ******************************************************************** 192.168.240.17    : ok=6 changed=5 unreachable=0 failed=0 real 0m25.248suser 0m0.632ssys 0m0.102s

4、删除后测试

[root@ip-10-10-240-21 tmp]# ll /tmp/total 16-rw------- 1 root root 256 Jul 10 06:07 tmp.0PLkgCq81n-rw------- 1 root root 197 Jul 9 05:35 yum_save_tx-2014-07-09-09-35ibcBiO.yumtx-rw-rw-r-- 1 zabbix zabbix 320 Jul 10 21:39 zabbix_agentd.log-rw-rw-r-- 1 zabbix zabbix 5 Jul 10 21:39 zabbix_agentd.pid[root@ip-10-10-240-21 tmp]# ll /data/total 4drwxr-xr-x 3 root root 4096 Jul 10 22:11 webroot[root@ip-10-10-240-21 tmp]# ps -ef|grep mysqlroot  22955 20233 0 22:50 pts/0 00:00:00 grep mysql[root@ip-10-10-240-21 tmp]# ll /etc/init.d/mysqlls: cannot access /etc/init.d/mysql: No such file or directory[root@ip-10-10-240-21 tmp]# chkconfig --list|grep mysql[root@ip-10-10-240-21 tmp]#

可以看到都删除完成。

如果大家想使用我的例子,可以从百度云的地址下载(文件大于50M,没办法放到附件或者51下载中心)地址是http://pan.baidu.com/s/1mgG8jY4,然后放到/etc/ansible目录里,下面是压缩包里的内容

11:20:08 # unzip -v mysql_install.zip Archive: mysql_install.zip Length Method Size Cmpr Date Time CRC-32 Name-------- ------ ------- ---- ---------- ----- -------- ----  113 Defl:N  89 21% 07-14-2014 10:32 aaed0763 mysql_install.yml  99 Defl:N  82 17% 07-14-2014 10:32 70c2a028 mysql_delete.yml  0 Stored  0 0% 07-03-2014 17:29 00000000 roles/common/  0 Stored  0 0% 06-30-2014 15:58 00000000 roles/common/meta/  267 Defl:N  178 33% 06-30-2014 15:58 31ee20ec roles/common/meta/main.yml  0 Stored  0 0% 07-11-2014 09:31 00000000 roles/common/tasks/  586 Defl:N  268 54% 07-08-2014 10:18 1c0af2a1 roles/common/tasks/main.yml  0 Stored  0 0% 06-19-2014 13:43 00000000 roles/common/handlers/  58 Defl:N  48 17% 06-19-2014 13:43 8d058053 roles/common/handlers/main.yml  0 Stored  0 0% 06-19-2014 13:30 00000000 roles/common/vars/  0 Stored  0 0% 06-19-2014 13:30 00000000 roles/common/templates/  0 Stored  0 0% 06-19-2014 13:30 00000000 roles/common/files/  0 Stored  0 0% 06-24-2014 11:27 00000000 roles/mysql_install/  0 Stored  0 0% 07-08-2014 14:12 00000000 roles/mysql_install/meta/  198 Defl:N  149 25% 07-08-2014 14:12 b03e00eb roles/mysql_install/meta/main.yml  0 Stored  0 0% 07-14-2014 09:27 00000000 roles/mysql_install/tasks/  201 Defl:N  153 24% 07-14-2014 09:27 51de730b roles/mysql_install/tasks/delete.yml  65 Defl:N  41 37% 07-14-2014 09:27 a3197ca7 roles/mysql_install/tasks/main.yml 1281 Defl:N  329 74% 07-14-2014 09:27 73d60454 roles/mysql_install/tasks/copy.yml 1162 Defl:N  375 68% 07-14-2014 09:27 e5a7341c roles/mysql_install/tasks/install.yml  0 Stored  0 0% 06-19-2014 13:30 00000000 roles/mysql_install/handlers/  0 Stored  0 0% 07-14-2014 09:51 00000000 roles/mysql_install/vars/  313 Defl:N  177 44% 07-14-2014 09:51 bf4476a7 roles/mysql_install/vars/main.yml  0 Stored  0 0% 07-14-2014 11:11 00000000 roles/mysql_install/templates/  518 Defl:N  241 54% 07-14-2014 09:15 529052bf roles/mysql_install/templates/install_mysql.sh 10905 Defl:N  3765 66% 06-26-2014 14:06 e35e7b82 roles/mysql_install/templates/mysqld 2122 Defl:N  823 61% 07-14-2014 09:49 f91c74ab roles/mysql_install/templates/my.cnf  794 Defl:N  275 65% 07-03-2014 13:15 560ee63e roles/mysql_install/templates/mysql_security.sh  0 Stored  0 0% 06-26-2014 13:59 00000000 roles/mysql_install/files/61805835 Defl:N 60413846 2% 06-26-2014 16:18 f61e317d roles/mysql_install/files/mysql.tar.gz  0 Stored  0 0% 06-24-2014 11:27 00000000 roles/mysql_delete/  0 Stored  0 0% 07-08-2014 14:12 00000000 roles/mysql_delete/meta/  197 Defl:N  147 25% 07-08-2014 14:12 fe6b0ef8 roles/mysql_delete/meta/main.yml  0 Stored  0 0% 07-14-2014 09:39 00000000 roles/mysql_delete/tasks/  692 Defl:N  245 65% 07-14-2014 09:39 dccd57b4 roles/mysql_delete/tasks/delete.yml  22 Stored  22 0% 06-27-2014 13:30 728ce4aa roles/mysql_delete/tasks/main.yml  0 Stored  0 0% 06-19-2014 13:30 00000000 roles/mysql_delete/handlers/  0 Stored  0 0% 07-03-2014 13:16 00000000 roles/mysql_delete/vars/  313 Defl:N  177 44% 07-14-2014 10:56 bf4476a7 roles/mysql_delete/vars/main.yml  0 Stored  0 0% 06-27-2014 13:30 00000000 roles/mysql_delete/templates/  0 Stored  0 0% 06-27-2014 13:30 00000000 roles/mysql_delete/files/--------   ------- ---       -------61825741   60421430 2%       41 files

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号