MySQL安装方式,Ansible安装MySQL5.7.24

 2023-09-28 阅读 24 评论 0

摘要:运维需求见表: 主机IP部署服务说明192.168.21.66Ansible basedir:/opt/mysql datadir:/opt/mysql/data binlog:/opt/mysql/log/ errorlog:/opt/mysql/log/error.log MySQL安装方式?socket:/opt/mysql/mysqld.sock tmp:/opt/mysql/tmp mysql运行用户:jiangwei 端

运维需求见表:

主机IP部署服务说明
192.168.21.66Ansible

basedir:/opt/mysql

datadir:/opt/mysql/data

binlog:/opt/mysql/log/

errorlog:/opt/mysql/log/error.log

MySQL安装方式?socket:/opt/mysql/mysqld.sock

tmp:/opt/mysql/tmp

mysql运行用户:jiangwei

端口:3306

操作系统:Ubuntu 16.04

MySQL版本:5.7

192.168.21.70MySQL

请重新安装? 

关联文档:

  • https://www.cnblogs.com/WSQL/p/9963342.html
  • https://www.cnblogs.com/WSQL/p/9963243.html

1.前置条件:

  • 安装依赖包:apt-get  install numactl  gcc  make  libaio  libaio-dev
  • 创建jiangwei运行用户
  • 192.168.21.66能够用root免密登录到192.168.21.70主机上

2./opt/ansible/mysql目录结构如下:

mysql
├── files
│ ├── my.cnf
│ ├── mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
│ └── setpassword.sh
└── tasks
└── main.yml

其中 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz为安装包,可到MySQL官网下载。

1.1)main.yml文件:         

- name: unarchive Mysql
unarchive: src=mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz dest=/usr/local/ owner=jiangwei group=jiangwei
- name: mkdir mysql datadir
file: path=/opt/mysql/data owner=jiangwei group=jiangwei state=directory
- name: mkdir mysql log dir
file: path=/opt/mysql/log owner=jiangwei group=jiangwei state=directory

- name: mkdir mysql tmp dir
file: path=/opt/mysql/tmp owner=jiangwei group=jiangwei state=directory
- name: change directory
command: mv /usr/local/mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
#- name: init.d mysql file
# command: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/
- name: cp my.cnf
copy: src=my.cnf dest=/etc/my.cnf
- name: initid mysql-server
command: /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=jiangwei
- name: start mysql
command: /usr/local/mysql/support-files/mysql.server start
- name: set password
copy: src=setpassword.sh dest=/opt/mysql/ mode=755
- name: sh setpassword
shell: sh /opt/mysql/setpassword.sh
- name: mysql binary command
command: cp /usr/local/mysql/bin/* /usr/bin/

1.2) my.cnf文件内容:

[mysqld_safe]
socket = /opt/mysql/mysqld.sock
nice = 0

[mysqld]
server-id = 70
event_scheduler = 1
character-set-server = utf8
bind-address = 0.0.0.0
symbolic-links = 0
max_allowed_packet = 40M
user = rocky
pid-file = /opt/mysql/mysqld.pid
socket = /opt/mysql/mysqld.sock
port = 3306
basedir = /usr/local/mysql
datadir = /opt/mysql/data
tmpdir = /opt/mysql/tmp
skip-external-locking

key_buffer_size = 16M
thread_stack = 192K
thread_cache_size = 8

max_connections = 1000

query_cache_limit = 1M
query_cache_size = 16M

log_error = /opt/mysql/log/error.log
log-bin = /opt/mysql/log/mysql-bin
expire_logs_days = 10
max_binlog_size = 100M

[client]
default-character-set = utf8

mySQL安装教程、1.3) setpassword.sh的内容如下:             

#该脚本仅限第一次修改初始密码使用
mysqlinitpasswd=`grep "password is generated" /opt/mysql/log/error.log | awk '{print $NF}'`
mysql -uroot -p${mysqlinitpasswd} -S /opt/mysql/mysqld.sock -e "alter user 'root'@'localhost' identified by 'jiangwei';grant all on *.* to 'root'@'%'identified by 'jiangwei';flush privileges" --connect-expired-password

3.配置所要安装mysql的主机列表,vi /etc/ansible/hosts,内容如下:                    

[mysql]
192.168.21.70

[mysql:vars]
ansible_python_interpreter=/usr/bin/python3
ansible_ssh_user=root

4.mysqlinstall.yml文件内容如下:

- hosts: mysql
roles:
     - mysql

5.ansible-playbook执行安装,命令:ansible-playbook   /opt/ansible/mysqlinstall.yml

6.验证mysql服务,可登陆认证:mysql -uroot -pjiangwei  -S /opt/mysql/mysqld.sock

转载于:https://www.cnblogs.com/WSQL/p/9963330.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/102499.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息