Merge pull request #857 from aerostitch/add_mariadb_ex_doc

Add example of MariaDB server installation on Ubuntu
This commit is contained in:
Bryan Jen 2016-06-28 15:37:36 -07:00 committed by GitHub
commit caec312e42

105
README.md
View file

@ -12,6 +12,7 @@
* [Work with an existing server](#work-with-an-existing-server)
* [Specify passwords](#specify-passwords)
* [Install Percona server on CentOS](#install-percona-server-on-centos)
* [Install MariaDB on Ubuntu](#install-mariadb-on-ubuntu)
4. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)
@ -240,6 +241,110 @@ Yumrepo['percona']->
Class['mysql::bindings']
```
### Install MariaDB on Ubuntu
#### Preliminary step: Install the MariaDB official repo (optionnal)
In this example, we want the latest stable (currently 10.1) from the official
MariaDB repository, not the one from the distro repository.
Note that this part is totally optionnal. You can also use the package from the
Ubuntu repository.
**Note:** `sfo1.mirrors.digitalocean.com` is just one of the many mirrors
available. You can use any other official mirror for better performance.
**Important:** this example is using a MariaDB 10.1 repository. Make sure you
are using the repository corresponding to the version you want.
```
include apt
apt::source { 'mariadb':
location => 'http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu',
release => $::lsbdistcodename,
repos => 'main',
key => {
id => '199369E5404BD5FC7D2FE43BCBCB082A1BB943DB',
server => 'hkp://keyserver.ubuntu.com:80',
},
include => {
src => false,
deb => true,
},
}
```
#### Installing the MariaDB server
This part of the example shows how to install a MariaDB server on Ubuntu (trusty
here). You will probably want to tweak the version and the parameters of the
my.cnf.
As a reminder, all the parameters of the my.cnf can be defined using the
`override_options` parmeter.
Of course, you need to make sure that all the custom folders you are setting
your files into do exist as prerequisites of this code! :)
Note that `/var/log/mysql` and `/var/run/mysqld` are created automatically.
All the values set here are an example of a working minimal configuration.
You can tweak them all! ;)
**Note:** it is not mandatory to specify the version of the package you want
(using the `package_ensure` parameter) but it's always a good practice to do
so as it avoids some surprises...
```
class {'::mysql::server':
package_name => 'mariadb-server',
package_ensure => '10.1.14+maria-1~trusty',
service_name => 'mysql',
root_password => 'AVeryStrongPasswordUShouldEncrypt!',
override_options => {
mysqld => {
'log-error' => '/var/log/mysql/mariadb.log',
'pid-file' => '/var/run/mysqld/mysqld.pid',
},
mysqld_safe => {
'log-error' => '/var/log/mysql/mariadb.log',
},
}
}
# Dependency management. Only use that part if you are installing the repository
# as shown in the Preliminary step of this example.
Apt::Source['mariadb'] ~>
Class['apt::update'] ->
Class['::mysql::server']
```
#### Installing the MariaDB client (can be done separately)
This part of the example shows how to install the MariaDB client and
use the `bindings_enable` to get all the bindings installed in 1 shot.
This part can be used totally individually from the server installation part.
**Note:** it is not mandatory to specify the version of the package you want
(using the `package_ensure` parameter) but it's always a good practice to do
so as it avoids some surprises...
```
class {'::mysql::client':
package_name => 'mariadb-client',
package_ensure => '10.1.14+maria-1~trusty',
bindings_enable => true,
}
# Dependency management. Only use that part if you are installing the repository
# as shown in the Preliminary step of this example.
Apt::Source['mariadb'] ~>
Class['apt::update'] ->
Class['::mysql::client']
```
## Reference
### Classes