Install MySQL on CentOS using DBdeployer

Install MySQL on CentOS using DBdeployer

Install MySQL on CentOS using DBdeployer

1. Here It is assumed You will have a CentOS system/VM. If not, then please find my this blog post link where you will get instruction about, how you can create CentOS virtual machine using the vagrant. 

2. Connect to CentOS VM
abhinavs-MacBook-Air:centos7-test-vm agupta$ pwd

abhinavs-MacBook-Air:centos7-test-vm agupta$ vagrant ssh 

[vagrant@centos7-test-vm ~]$ sudo su -

[root@centos7-test-vm ~]#

3. Run below command to install the latest DBdeployer package 
[root@centos7-test-vm ~]# yum -y install wget

[root@centos7-test-vm ~]# VERSION=1.30.0

[root@centos7-test-vm ~]# OS=linux

[root@centos7-test-vm ~]# origin=$VERSION

[root@centos7-test-vm ~]# wget $origin/dbdeployer-$VERSION.$OS.tar.gz

[root@centos7-test-vm ~]# tar -xzf dbdeployer-$VERSION.$OS.tar.gz

[root@centos7-test-vm ~]# chmod +x dbdeployer-$VERSION.$OS

[root@centos7-test-vm ~]# sudo mv dbdeployer-$VERSION.$OS /usr/local/bin/dbdeployer 
Note: Once writing these steps, we had the latest Dbdeployer version released 1.30.0. You make sure to check the latest version released on below page and make accordingly value of "VERSION=XX.XX.XX" above in 2nd command. 

- Verify the installed dbdeployer version. 
[root@centos7-test-vm ~]# dbdeployer --version
dbdeployer version 1.30.0
[root@centos7-test-vm ~]# 

4. Download the latest Percona Server 5.7 binary tarball package from below link under section "Linux-Generic."

Note: Here if you are confused which SSL package tar bar you should download, then please check my this blog post.
[root@centos7-test-vm ~]# wget

5. Unpack the tarball package using the DBdeployer. 
[root@centos7-test-vm ~]# pwd

[root@centos7-test-vm ~]# ls -lth Percona*tar.gz
-rw-r--r--. 1 root root 408M May 22 00:14 Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz

[root@centos7-test-vm ~]# mkdir -p /root/opt/mysql

[root@centos7-test-vm ~]# dbdeployer unpack --prefix=ps Percona-Server-5.7.25-28-Linux.x86_64.ssl101.tar.gz 
Note: Above I have used "--prefix=ps" to explicitly mention with a binary directory that it is the Percona Server (PS) tarball packages. It is useful to use --prefix like Maria/Oracle/PS to distinguish between the multiple tarball packages installed on the system with different package providers. 

Using below command, you can check the list of installed/available tarball binary packages for dbdeployer. 
[root@centos7-test-vm ~]# dbdeployer versions
Basedir: /root/opt/mysql
[root@centos7-test-vm ~]# 

Here you can see we have Percona Server 5.7.25 binary packages available for DBdeployer. 

6. Create a single MySQL instance using the Percona Server 5.7.25 binary package. 

[root@centos7-test-vm ~]# dbdeployer deploy single ps5.7.25
Creating directory /root/sandboxes
Database installed in $HOME/sandboxes/msb_ps5_7_25
run 'dbdeployer usage single' for basic instructions'
.. sandbox server started
[root@centos7-test-vm ~]# 

7. To access the MySQL, go to the installed directory which is "/root/sandboxes/msb_ps5_7_25" and then runs below command. 
[root@centos7-test-vm msb_ps5_7_25]# pwd

[root@centos7-test-vm msb_ps5_7_25]# sh use
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-28 Percona Server (GPL), Release 28, Revision c335905

Copyright (c) 2009-2019 Percona LLC and/or its affiliates
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql [localhost:5725] {msandbox} ((none)) > \s
/root/opt/mysql/ps5.7.25/bin/mysql  Ver 14.14 Distrib 5.7.25-28, for Linux (x86_64) using  6.2

Connection id:        3
Current database:
Current user:        msandbox@localhost
SSL:            Not in use
Current pager:        stdout
Using outfile:        ''
Using delimiter:    ;
Server version:        5.7.25-28 Percona Server (GPL), Release 28, Revision c335905
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /tmp/mysql_sandbox5725.sock
Uptime:            3 min 42 sec

Threads: 1  Questions: 26  Slow queries: 0  Opens: 111  Flush tables: 1  Open tables: 104  Queries per second avg: 0.117

mysql [localhost:5725] {msandbox} ((none)) > 

8. Here below are a couple of useful commands to play with your MySQL instance. 
[root@centos7-test-vm msb_ps5_7_25]# sh status
msb_ps5_7_25 on

[root@centos7-test-vm msb_ps5_7_25]# sh stop
stop /root/sandboxes/msb_ps5_7_25

[root@centos7-test-vm msb_ps5_7_25]# sh start
. sandbox server started

[root@centos7-test-vm msb_ps5_7_25]# sh restart
stop /root/sandboxes/msb_ps5_7_25
. sandbox server started 



SLEEP thread causing "Waiting for table metadata lock"

ERROR 1040 (HY000): Too many connections

errno: 24 - Too many open files

How to create CentOS VM using Vagrant

How to Prepare for MySQL Certification Exam

How to properly shutdown MySQL before any maintenance activity

Quickly configure replication using DBdeployer [SandBox]

set --server-id to enable either a master or a slave

GTID Replication (Skip Transaction using empty transaction)