Puppet을 사용하여 YUM 저장소와 함께 Percona 서버를 설치하고 싶습니다. 기본 datadir 디렉터리는 /mysql이어야 합니다. 이는 기존 디렉터리 구조와 일치해야 합니다.
답변1
이런 방식으로 puppetlabs mysql 모듈을 사용하여 대체 디렉터리에 mysql을 설치할 수 있습니다. percona를 설치하려면 먼저 배포판용 percona 저장소를 추가해야 합니다.
파일 mysql.pp
class { '::mysql::server':
service_name => 'mysql',
package_name => 'Percona-Server-server-56',
root_password => 'mysqlpassword01',
override_options => { 'mysqld' => { 'datadir' => '/mysql' } }
}
이제 이 옵션을 사용하여 수업이 잘 작동하는지 테스트합니다.
puppet apply mysql.pp --environment testing
ps aux | grep datadir
root 4591 0.0 0.1 108168 1572 ? S 03:29 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql 4759 0.1 3.1 392104 32216 ? Sl 03:29 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306
ls -l /mysql
산출
[root@puppetserver ~]# ls -l /mysql/
total 20488
-rw-rw----. 1 mysql mysql 10485760 17 giu 03:29 ibdata1
-rw-rw----. 1 mysql mysql 5242880 17 giu 03:29 ib_logfile0
-rw-rw----. 1 mysql mysql 5242880 17 giu 03:29 ib_logfile1
drwx------. 2 mysql root 4096 17 giu 03:29 mysql
drwx------. 2 mysql root 4096 17 giu 03:29 test
어쨌든 /mysql 디렉토리가 존재하면 mysql 설치 스크립트는 아무것도 삭제하지 않습니다.