从两周以来,我一直在从事MySQL部署和Ansible的相关工作。我必须在LV上安装MySQL。
在MySQL部署之前,Ansible脚本创建/var/lib/mysql、LV并将其挂载到/var/lib/mysql上。然后,创建MySQL用户和MySQL组,在MySQL目录上设置0700。当它完成时,Ansible部署了MySQL 5.7。
我的部分代码是:
- name: "Group : mysql"
group:
name: "mysql"
state: "present"
tags:
- User mysql
- name: "user : mysql"
user:
name: "mysql"
shell: "mysql"
group: "mysql"
createhome: "no"
append: "True"
state: "present"
tags:
- User
- name: "Set rights on mysql dir "
file:
path: "/var/lib/mysql"
owner: "mysql"
group: "mysql"
mode: 0700
tags:
- mysql dir rights
- name: "mysql root password"
debconf:
name: "mysql-server"
question: "mysql-server/root_password"
value: "{{ password_root_mysql }}"
vtype: "password"
when: password_root_mysql is defined
tags:
- Install
- name: "mysql root password confirmation"
debconf:
name: "mysql-server"
question: "mysql-server/root_password_again"
value: "{{ password_root_mysql }}"
vtype: "password"
when: password_root_mysql is defined
tags:
- Install mysql
- name: "Install : MySQL Server"
apt:
update_cache: "True"
name: "mysql-server"
install_recommends: "True"
tags:
- Install mysql
notify:
- stop mysql
- name: "Copie du template root.cnf.j2 vers root/.my.cnf "
template:
src: "{{ mysql_template_rootcnf }}"
dest: "~/.my.cnf"
owner: "root"
mode: "0600"
tags:
- Install mysql因此,当我尝试安装没有任何LV和目录设置的mysql-server时,它可以工作。但是,当我以良好的权限准备目录MySQL时,无论是手动部署还是自动部署,安装都无法工作。
有什么想法吗?
Ubuntu16.04与MYSQL 5.7。Ansible v2.7
发布于 2018-11-15 14:57:10
好的,我发现了问题,/var/lib/mysql中的Lost+Found目录(lv挂载在它上)被考虑到了,就像数据库一样,mysql不喜欢它。在我的代码中,我刚刚添加了:
- name: "Remove lost+found from {{ mysql_dir }}"
file:
path: "{{ mysql_dir }}/lost+found"
state: absenthttps://stackoverflow.com/questions/53317716
复制相似问题