木偶只有在第一次安装的时候才能改变mysql datadir

我想用puppet来安装Percona服务器和YUM库。 默认的datadir目录应该是/ mysql。 这需要与现有的目录结构保持一致。

你可以在另一个目录下安装mysql,使用puppetlabs mysql模块,如果你想先安装percona,你需要为你的发行版添加percona repository。

文件mysql.pp

  class { '::mysql::server': service_name => 'mysql', package_name => 'Percona-Server-server-56', root_password => 'mysqlpassword01', override_options => { 'mysqld' => { 'datadir' => '/mysql' } } } 

现在我testing这个类是否适用于这个选项

 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安装脚本不会删除任何东西。