|
|
Line 1: |
Line 1: |
| ==Generalties==
| |
| <br>
| |
| {{Warning | Before anything, don't go further if you don't have read the first section [[General:Concepts|"dbSQWare Concepts "]] !}}
| |
|
| |
|
| In this chapter, we will consider that SQWareCentral has been installed on dbsqware@sqwarebox.
| |
|
| |
| ===Limits of this section===
| |
| This chapter only deals with adding a new instance to a base that is already configured and functional.<br>
| |
| Use the portions that apply to your environment, and choose either the automatic or manual method as desired<br>
| |
|
| |
| ===General operating procedure for integrating a new MySQL/MariaDB instance===
| |
| There will potentially be one or two connection cases to handle.
| |
| * "local" for Unix machines (or those with Cygwin) where you'll be running MySQL on the machine hosting the instance (SSH connection from dbsqware@sqwarebox).
| |
| * "remote" for cases where you don't have SSH access to the machine (Windows, RDS, etc.).
| |
|
| |
| Classic steps:
| |
|
| |
| *Setting up the environment
| |
|
| |
| *Checking system prerequisites for the "local" part (bash + rsync)
| |
|
| |
| *Manual tests
| |
|
| |
| *Deployment of the instance
| |
|
| |
| You will see that these steps can be handled one by one or in batches!
| |
|
| |
| ==Integration of an MySQL/MariaDBinstance==
| |
|
| |
| ===Setting up the environment===
| |
|
| |
| ====General====
| |
|
| |
| =====Explanation of "DbAlias" (the unique dbSQWare key)=====
| |
| The dbSQWare key must be unique and consistent with what has been configured for the gvsqw_DbAlias variable in sqwmys_GlobalVar.cfg!<br/>
| |
| We'll use a variable, MYSQL_SID, which has no value for MySQL/MariaDB but will identify the instance in dbSQWare.<br/>
| |
| By convention, we often use MYS "_" APPLI "_" ENV.<br/>
| |
| Example: MYS_THISAPPS_PRD or MYS_THISOTHERAPPS_DEV ...<br/>
| |
| But nothing is imposed; you choose what "suits you"! You just need to set the MYSQL_SID variable in the MySQL account profile with the desired value.<br/>
| |
|
| |
| =====Explanation of statuses=====
| |
| *An "open" instance will be handled in "local" mode, meaning we will connect with mysql locally on the machine hosting the instance (ssh access from dbsqware@sqwarebox), status "ON".<br/>
| |
| *An instance where we don’t have local unix access will be managed in "remote" mode (like Windows, RDS, ...), status "DIST".<br/>
| |
| *The "OFF" status makes the instance "disappear" from the web view.<br/>
| |
| *The "NEW" status is used as an intermediate status between the beginning and the end of setting up a new instance.<br/>
| |
| *All other statuses allow the instance to be displayed in the repository (especially "KEEP") but will not be taken into account by the automatic processes.<br/>
| |
| <br/>
| |
| Resume of statuses :<br/>
| |
| {| align="center" {{Prettytable}}
| |
| |-
| |
| | '''Status'''
| |
| | '''Description'''
| |
| |-
| |
| | ON
| |
| | locale under Unix (the most common)
| |
| |-
| |
| | DIST
| |
| | remote-only management
| |
| |-
| |
| | KEEP
| |
| | temporary status, during maintenance for example or before complete deletion
| |
| |-
| |
| | NEW
| |
| | temporary status, during configuration
| |
| |-
| |
| | OFF
| |
| | visual removal of the instance (without deleting its configuration)
| |
| |-
| |
| | XXX
| |
| | not supported...
| |
| |}
| |
|
| |
| ====Instance declaration in SQWareRepository with SQWareWeb====
| |
| We will declare the new instance from the SQWareWeb administration interface.<br/>
| |
| [[File:Admin dbSQWare.png||admin|Admin dbSQWare]]
| |
|
| |
| <br/>
| |
|
| |
| Declare the new instance with the status "NEW" (Add or Duplicate).<br/>
| |
| [[File:AjoutInstance.png||admin|Ajout d'une instance]]
| |
| [[File:DuplicateInstance.png||admin|Ajout par duplication d'une instance]]<br/>
| |
| [[File:DeclarationInstanceMySQL.png|admin|Add a new instance by duplicate an other one.]]
| |
| Explanation of the fields :<br/>
| |
| {| align="center" {{Prettytable}}
| |
| |-
| |
| | '''Fields'''
| |
| | '''Description'''
| |
| |-
| |
| | Db Alias
| |
| | Unique key that identifies the instance in dbSQWare (no value for MySQL/MariaDB).
| |
| |-
| |
| | Dbms Name
| |
| | Type of SGBD
| |
| |-
| |
| | Virtual Host
| |
| | Virtual Host (same as Host if not clustered)
| |
| .
| |
| |-
| |
| | Host Name
| |
| | Hostname of the instance
| |
| |-
| |
| | User Name
| |
| | User associated with the instance
| |
| |-
| |
| | Port
| |
| | Listening port of the instance.
| |
| |-
| |
| | Comments
| |
| | A brief description of what the instance hosts
| |
| |-
| |
| | Status
| |
| | Instance status (see above for explanations).
| |
| |-
| |
| | Contact
| |
| | A contact if needed
| |
| |-
| |
| | Environnement
| |
| | Instance environment (PRD, PPR, REC, DEV, TST, ...)
| |
| |-
| |
| | Client
| |
| | Used only for filtering (enter a client name and/or department and/or service...)
| |
| |-
| |
| | GlobalHost
| |
| | Free field in which the hypervisor host is often entered, for example.
| |
| |-
| |
| | Custom1
| |
| | Free field 1
| |
| |-
| |
| | Custom2
| |
| | Free field 2
| |
| |}
| |
| =====Regenerate the reference files of SQWareCentral.=====
| |
| Type the following command which will generate the reference files:
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : dbsqware@sqwarebox
| |
| gen_all
| |
| </syntaxhighlight>
| |
|
| |
| ===Specific procedure for the "local" part (status ON)===
| |
| /!\ Only instances that will be in the "ON" status !<br/>
| |
|
| |
| ====Verification of system prerequisites for the "local" part (bash + rsync)====
| |
| Since SQWareProduction is mainly written in bash shell and synchronized from SQWareCentral using rsync, we therefore need "bash" and "rsync" to be installed !
| |
|
| |
| =====Verification=====
| |
| Adapt to your username and machine name.<br>
| |
| <br>
| |
| bash:
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : mysql@my_mysql_host
| |
| type bash
| |
| #or
| |
| which bash
| |
| </syntaxhighlight>
| |
| rsync:
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : mysql@my_mysql_host
| |
| type rsync
| |
| #or
| |
| which rsync
| |
| </syntaxhighlight>
| |
|
| |
| =====Installation=====
| |
| Adapt to your machine type (use sudo if you are not root).<br/>
| |
| <br>
| |
| RedHat / CentOS / ... :
| |
| <syntaxhighlight lang="sh" line># From : root@my_mysql_host
| |
| yum install -y bash rsync
| |
| #or
| |
| dnf install -y bash rsync</syntaxhighlight>
| |
| Ubuntu / Debian / ... :
| |
| <syntaxhighlight lang="sh" line>
| |
|
| |
| # From : root@my_mysql_host
| |
| apt install -y bash rsync
| |
| </syntaxhighlight>
| |
|
| |
| ====Unix user modification====
| |
| Adapt to your machine type (sudo if you're not root).
| |
| Modify the homedir (not mandatory, but avoids ending up in /var/lib/mysql):
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : root@my_mysql_host
| |
| mkdir -p /home/mysql
| |
| chown mysql:mysql /home/mysql
| |
| chmod 750 /home/mysql
| |
| </syntaxhighlight>
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| ##Stop instance (service mysql/mariadb stop -- or -- systemctl stop mysql/mariadb)
| |
| usermod -d /home/mysql mysql -s /bin/bash
| |
| ##Start instance (service mysql/mariadb start -- or -- systemctl start mysql/mariadb)
| |
|
| |
| #Or directly vi /etc/passwd !
| |
| example : mysql:x:1004:989::/home/mysql:/bin/bash
| |
| </syntaxhighlight>
| |
|
| |
| Assign a passwd to the mysql user (otherwise the key exchange connection will not work!):<syntaxhighlight lang="sh" line>
| |
| # From : root@my_mysql_host
| |
| passwd mysql
| |
| </syntaxhighlight>
| |
|
| |
| ====Creating a specific MySQL/MariaDB account for dbSQWare (for local connection)====
| |
| Adapt to your needs depending on what you want to do...<br/>
| |
|
| |
| Example for local connection :
| |
| <syntaxhighlight lang="sql" line>
| |
| grant all privileges on *.* to 'DBSDBA'@'localhost' IDENTIFIED BY 'DoNotSetThisPassword!' with grant option;
| |
|
| |
| /* or */
| |
| create user 'DBSDBA'@'localhost' IDENTIFIED BY 'DoNotSetThisPassword!';
| |
| grant all privileges on *.* to 'DBSDBA'@'localhost' with grant option;
| |
| </syntaxhighlight>
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : mysql@my_mysql_host
| |
| #Then, create the .my.cnf file to allow connection without using passwd
| |
| echo "[client]
| |
| password = DoNotSetThisPassword!
| |
| " >> $HOME/.my.cnf
| |
| chmod 600 $HOME/.my.cnf
| |
| </syntaxhighlight>
| |
|
| |
| ====Deployment of SSH key(s) from SQWareCentral to the target machine(s)====
| |
| There are two ways to proceed:
| |
| *An automatic one (from dbsqware@sqwarebox, but it requires you to know the password of the mysql Unix account)
| |
| *A manual one that you apply on each mysql Unix account
| |
| /!\ The password of your mysql Unix account must have been initialized, otherwise key-based authentication will not work!
| |
|
| |
| =====Deployment of SSH key(s): batch method=====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys GenDeplSshKeys_SQWareCentral GenLstInstanceNew
| |
| </syntaxhighlight>
| |
| Verify that this is indeed the list you want to deploy, then choose option 1 ...<br/>
| |
| => Enter the Unix password when prompted !
| |
|
| |
| =====Deployment of SSH key(s): manual method=====
| |
| <syntaxhighlight lang="sh" line># From : mysql@my_mysql_host
| |
| if [ ! -r $HOME/.ssh/id_rsa ]
| |
| then
| |
| ssh-keygen -t rsa -N ''''''' -f $HOME/.ssh/id_rsa
| |
| fi
| |
| chmod go-w $HOME
| |
| echo "ssh-rsa AAAAB......XSPpdV11 dbsqware@sqwarebox" >>$HOME/.ssh/authorized_keys
| |
| chmod 700 $HOME/.ssh
| |
| chmod 600 $HOME/.ssh/authorized_keys
| |
| </syntaxhighlight>
| |
| => Put the correct key in the "echo" (the one from dbsqware@sqwarebox)
| |
|
| |
| ====SSH connection test from SQWareCentral====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys TestSshConnection GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ====Test of prerequisites on the target host (bash+rsync) via SSH from SQWareCentral====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys TestSysPrerequisites GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ====Deployment of SQWareProduction====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
|
| |
| #If deployment on "unique" user
| |
| menu_mys DeplScripts GenLstUniqueNew
| |
|
| |
| #If deployment on "instance" user, the one specified in SQWareRepository
| |
| menu_mys DeplScripts GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| For "unique" user, it is the "standard" user. By default, we set it to "mysql", and it can be modified in SQWareCentral.
| |
|
| |
| ====Adding the dbSQWare environment to ~/.profile or ~/.bash_profile====
| |
| Once again, there are two ways to proceed:
| |
|
| |
| *An automatic one (from dbsqware@sqwarebox)
| |
| *A manual one that you apply on each mysql Unix account
| |
|
| |
| =====Adding the dbSQWare environment: batch method=====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys AdddbSQWareProfile GenLstInstanceNew
| |
| </syntaxhighlight>
| |
| Check that this is indeed the list you want to deploy, then choose 1 ...<br/>
| |
| => In ~/.profile or ~/.bash_profile, change the following variable with the appropriate value: gvsqw_Env='XXX'
| |
|
| |
| =====Adding the dbSQWare environment: manual method=====
| |
| Add the following lines to ~/.profile or ~/.bash_profile
| |
| <syntaxhighlight lang="sh" line># From : mysql@my_mysql_host
| |
|
| |
| #dbSQWare
| |
| export gvsqw_MysBin=$HOME/SQWareProduction/mysql/bin
| |
| export gvsqw_Env='PRD'
| |
| lvsqw_IsTerminal=$(tty 2>&1 >/dev/null;echo $?)
| |
| if [ "$lvsqw_IsTerminal" = "0" ] && [ -r $gvsqw_MysBin/../etc/.profile_confort ]
| |
| then
| |
| . $gvsqw_MysBin/../etc/.profile_confort
| |
| fi
| |
| </syntaxhighlight>
| |
|
| |
| =====Adding the variable MYSQL_SID=====
| |
| Add the MYSQL_SID variable in the ~/.profile or ~/.bash_profile
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : mysql@my_mysql_host
| |
| export MYSQL_SID=MYS_INST_PRD
| |
| </syntaxhighlight>
| |
|
| |
| ====Test sendmail (Non mandatory)====
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys TestSendmail GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ===="Manual" connection test to the MySQL/MariaDB instance ("local" connection)====
| |
| /!\ Only instances that will be in "ON" status!
| |
| <syntaxhighlight lang="sh" line># From : dbsqware@sqwarebox
| |
| menu_mys TestInstConnectionOnNoMail GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ===Specific Procedure for the "Remote" Port (DIST Status)===
| |
|
| |
| ====Creating a Specific MySQL/MariaDB Account (dbSQWare) (For Remote Connections)====
| |
| Example for a "Remote" Connection
| |
| <syntaxhighlight lang="sql" line>
| |
| grant all privileges on *.* to 'DBSDBA'@'%' IDENTIFIED BY 'DoNotSetThisPassword!' with grant option;
| |
|
| |
| /* or */
| |
| create user 'DBSDBA'@'%' IDENTIFIED BY 'DoNotSetThisPassword!';
| |
| grant all privileges on *.* to 'DBSDBA'@'%' with grant option;
| |
| flush privileges;
| |
| </syntaxhighlight>
| |
|
| |
| You can enter any username and password you like!<br/>
| |
| This account must be registered under the Unix account mysql@sqwarebox...<br/>
| |
| <syntaxhighlight lang="sh" line>
| |
| vi /home/mysql/.passwd_mysql
| |
| DbAlias;UserName;Passwd;HostName;Port
| |
| MYS_INST_PRD;DBSDBA;DoNotSetThisPassword!;srvdbmys01;3306
| |
| </syntaxhighlight>
| |
|
| |
| ====Test "remote" connection====
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : dbsqware@sqwarebox
| |
| menu_mys TestInstConnectionDistNoMail GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ==Starting the Instance==
| |
| ===Generating the Default SQWareProduction Configuration===
| |
| /!\ Only instances that will be in "ON" status!
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : dbsqware@sqwarebox
| |
| menu_mys GenDefConf_SQWareProduction GenLstInstanceNew
| |
| </syntaxhighlight>
| |
|
| |
| ===Update SQWare Repository===
| |
| In the dbSQWare repository via the administration console, update the status of the new MySQL/MariaDB instance (currently NEW) to the desired value (ON, DIST).
| |
|
| |
| ===Testing the "Recovery" of Indicators===
| |
| At this point, you can test the recovery of missing indicators (in principle, only the instances you have just integrated!).
| |
| <syntaxhighlight lang="sh" line>
| |
| # From : dbsqware@sqwarebox
| |
| ## for those with status "ON"
| |
| repind_mys
| |
| ## for those with status "DIST"
| |
| repind_mys_dist
| |
| </syntaxhighlight>
| |
|
| |
| ===Operation (stats, backups, etc.) for "ON" instances===
| |
| ====Generating SQWareProduction configs====
| |
| If you followed the instance insertion procedure, this part is already done by step "menu_mys GenDefConf_SQWareProduction GenLstInstanceNew".<br/>
| |
| You can check with the next chapter.<br/>
| |
| <br/>
| |
| Connect to the machine that has the “MySQL/MariaDB” instance and type the following commands: <br/>
| |
| <syntaxhighlight lang="sh" line>
| |
| # From dbsqware@vmyswarebox
| |
| c MYS_INST_PRD
| |
| </syntaxhighlight>
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| #Source de l'env si multi-instance (from mysql@my_mysql_host)
| |
| e MYS_INST_PRD
| |
| </syntaxhighlight>
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| too
| |
| ./sqwmys_GenerateCreateInstance.ksh -dbsOnly
| |
| </syntaxhighlight>
| |
| Vérifier que ce qui est proposé est bon et tapez « y » si c’est le cas.<br/>
| |
| A ce moment, vous avez généré les fichiers de configuration par défaut de SQWareProduction.
| |
|
| |
| ====Explanations====
| |
| The previous steps created some default files. ($HOME/MYS_INST_PRD/sqwConfig)
| |
| <syntaxhighlight lang="sh" line>
| |
| #Enter the instance name
| |
| e MYS_INST_PRD
| |
| cfg
| |
| cat sqwmys_Jobs.cfg
| |
| </syntaxhighlight>
| |
|
| |
| <syntaxhighlight lang="sh" line>
| |
| #############################################
| |
| #IndicDba: Gather DBAs indicators
| |
| IndicDba:$gvsqw_MysBin/sqwmys_GatherIndicators.ksh -I MYS_INST_PRD
| |
|
| |
| #Dump: backup all databases with mysqlDump
| |
| Dump:$gvsqw_MysBin/sqwmys_DumpAllDatabases.ksh -I MYS_INST_PRD -Exec
| |
|
| |
| #Optimize : optimize tables for all databases
| |
| Optimize:$gvsqw_MysBin/sqwmys_OptimizeAllDatabases.ksh -I MYS_INST_PRD -Exec
| |
|
| |
| #Analyse : analyze tables for all databases
| |
| Analyze:$gvsqw_MysBin/sqwmys_AnalyzeAllDatabases.ksh -I MYS_INST_PRD -Exec
| |
|
| |
| #XtraFull: Backup full with XtraBackup
| |
| XtraFull:$gvsqw_MysBin/sqwmys_XtraBackup.ksh -I MYS_INST_PRD -Type full -Exec
| |
|
| |
| #XtraInc: Backup incremental with XtraBackup
| |
| XtraInc:$gvsqw_MysBin/sqwmys_XtraBackup.ksh -I MYS_INST_PRD -Type inc -Exec
| |
|
| |
| #MariaFull: Backup full with MariaBackup
| |
| MariaFull:$gvsqw_MysBin/sqwmys_MariaBackup.ksh -I MYS_INST_PRD -Type full -Exec
| |
|
| |
| #MariaInc: Backup incremental with MariaBackup
| |
| MariaInc:$gvsqw_MysBin/sqwmys_MariaBackup.ksh -I MYS_INST_PRD -Type inc -Exec
| |
|
| |
| #PurgeAlert: Rotate error log
| |
| PurgeAlert:$gvsqw_MysBin/sqwmys_PurgeAlert.ksh -I MYS_INST_PRD
| |
| </syntaxhighlight>
| |
|
| |
| This is a configuration file used by the sqwmys_RunJob.ksh script to execute actions.<br/>
| |
| <br/>
| |
| File for a default cron job $HOME/CrontabRef_MYS_INST_PRD:
| |
| <syntaxhighlight lang="sh" line>
| |
| ## mm(0-59) hh(0-23) dd(1-31) MM(0-12) DAY(0-sunday, 1-monday, ...) command
| |
| ## MYS_INST_PRD
| |
| #Purge alert
| |
| 00 08 * * 0 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A PurgeAlert > $HOME/tmp/PurgeAlert_MYS_INST_PRD.log 2>&1'
| |
| # Dump
| |
| 00 20 * * * bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A Dump > $HOME/tmp/Dump_MYS_INST_PRD.log 2>&1'
| |
| # Optimize
| |
| 00 04 * * 6 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A Optimize > $HOME/tmp/Optimize_MYS_INST_PRD.log 2>&1'
| |
| # Analyze
| |
| 00 05 * * 6 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A Analyze > $HOME/tmp/Analyze_MYS_INST_PRD.log 2>&1'
| |
| # XtraBackup
| |
| #00 21 * * 6 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A XtraFull > $HOME/tmp/XtraFull_MYS_INST_PRD.log 2>&1'
| |
| #00 21 * * 1-5 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A XtraInc > $HOME/tmp/XtraInc_MYS_INST_PRD.log 2>&1'
| |
| # MariaBackup
| |
| #00 21 * * 6 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A MariaFull > $HOME/tmp/MariaFull_MYS_INST_PRD.log 2>&1'
| |
| #00 21 * * 1-5 bash -c '. $HOME/.profile MYS_INST_PRD;$gvsqw_MysBin/sqwmys_RunJob.ksh -I MYS_INST_PRD -A MariaInc > $HOME/tmp/MariaInc_MYS_INST_PRD.log 2>&1'
| |
| </syntaxhighlight>
| |
|
| |
| ====Startup====
| |
| Setting up cron:
| |
| <syntaxhighlight lang="sh" line>
| |
| mv $HOME/CrontabRef_MYS_INST_PRD $HOME/CrontabRef
| |
| vi $HOME/CrontabRef
| |
| crontab $HOME/CrontabRef
| |
| crontab -l
| |
| </syntaxhighlight>
| |
|
| |
| Update the file CrontabRef :
| |
| <syntaxhighlight lang="sh" line>
| |
| crontab -l > $HOME/CrontabRef
| |
| cat $HOME/CrontabRef
| |
| </syntaxhighlight>
| |
|
| |
| ====Useful commands====
| |
| alias :
| |
| e DBALIAS => source env for the instance
| |
| bin, etc, too ... => to go to the standard SQWareProduction tree
| |
| cbin, cetc, ctoo ... => to go to the custom SQWareProduction tree
| |
| log => SQWareProduction logs
| |
| dmp => go to the backup paths
| |
|
| |
| Some script options:
| |
| -h => online help
| |
| -s => online examples
| |
| -Exec => when present; if not set, only outputs commands without executing them.
| |
|
| |
| Examples :
| |
| mysql@my_mysql_host:$HOME/admin/MYS_INST_PRD/logs/DumpAllDatabases (MYS_DBA_PRD) $ bin
| |
| total 100
| |
| drwxr-x--- 2 dbsqware dba 4096 Sep 6 14:09 .
| |
| drwxr-x--- 15 dbsqware dba 187 Aug 16 15:50 ..
| |
| -rwxr-x--- 1 dbsqware dba 2957 Aug 16 15:50 sqwmys_AnalyzeAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2514 Aug 16 15:50 sqwmys_AnalyzeDatabase.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2608 Aug 16 15:50 sqwmys_CheckAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2257 Aug 16 15:50 sqwmys_CheckDatabase.ksh
| |
| -rwxr-x--- 1 dbsqware dba 5418 Aug 16 15:50 sqwmys_CopyDumpAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 5324 Aug 16 15:50 sqwmys_CopyDumpDatabase.ksh
| |
| -rwxr-x--- 1 dbsqware dba 5610 Sep 6 10:45 sqwmys_CopyMariaBackup.ksh
| |
| -rwxr-x--- 1 dbsqware dba 5594 Sep 6 14:08 sqwmys_CopyXtraBackup.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3248 Aug 16 15:50 sqwmys_DumpAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3541 Aug 16 15:50 sqwmys_DumpDatabase.ksh
| |
| lrwxrwxrwx 1 dbsqware dba 36 Jan 2 2022 sqwmys_ExecSQL.ksh -> ../../generic/bin/sqwgen_ExecSQL.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2455 Aug 16 15:50 sqwmys_GatherIndicators.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2454 Aug 16 15:50 sqwmys_GatherStructure.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3043 Aug 16 15:50 sqwmys_MariaBackup.ksh
| |
| lrwxrwxrwx 1 dbsqware dba 38 Jan 2 2022 sqwmys_NetBackup.ksh -> ../../generic/bin/sqwgen_NetBackup.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2959 Aug 16 15:50 sqwmys_OptimizeAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2522 Aug 16 15:50 sqwmys_OptimizeDatabase.ksh
| |
| lrwxrwxrwx 1 dbsqware dba 40 Jan 2 2022 sqwmys_ParallelRun.ksh -> ../../generic/bin/sqwgen_ParallelRun.ksh
| |
| -rwxr-x--- 1 dbsqware dba 2252 Aug 16 15:50 sqwmys_PurgeAlert.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3855 Aug 16 15:50 sqwmys_RestoreAllDatabases.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3463 Aug 16 15:50 sqwmys_RestoreDatabase.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3825 Aug 16 15:50 sqwmys_RotateLogSlowQuery.ksh
| |
| lrwxrwxrwx 1 dbsqware dba 40 Jan 2 2022 sqwmys_RsyncBackup.ksh -> ../../generic/bin/sqwgen_RsyncBackup.ksh
| |
| lrwxrwxrwx 1 dbsqware dba 35 Jan 2 2022 sqwmys_RunJob.ksh -> ../../generic/bin/sqwgen_RunJob.ksh
| |
| -rwxr-x--- 1 dbsqware dba 3025 Aug 16 15:50 sqwmys_XtraBackup.ksh
| |
|
| |
| mysql@my_mysql_host:$HOME/SQWareProduction/mysql/bin (MYS_INST_PRD) $
| |
| ./sqwmys_DumpAllDatabases.ksh -h
| |
|
| |
| Sourcing sqwmys_Global.lib v2023.06 SQWareProduction for MySQL (dbSQWare) ...
| |
|
| |
| Usage: sqwmys_DumpAllDatabases.ksh [-h] -I instance [+ options]
| |
|
| |
| DESCRIPTION
| |
| sqwmys_DumpAllDatabases.ksh dump databases in parallel
| |
| SUPPORT
| |
| MySql supported versions: 5.0 <= v <= 8
| |
| MariaDB supported versions: 5.5 <= v <= 11.6
| |
|
| |
| PARAMETERS
| |
| -I instance : Target instance to mysqldump.
| |
| OPTIONS
| |
| -h help : Display the full usage.
| |
| -s : Display samples of usage.
| |
| -P Nb threads : Number of threads in parallel (by default 2).
| |
| -RD directory : Directory to write dump file (default /backups/mysql/$MYSQL_SID).
| |
| -ID listdb : List of databases to be dumped (by default all).
| |
| -ED listdb : List of databases to exclude from dump.
| |
| -IL likeclause : Like clause to generate databases list (example: 'db%').
| |
| -EL likeclause : Like clause to exclude databases (example: 'nodb%').
| |
| -HI Nb_Generations : Number of generations to keep (by default 2).
| |
| -WCD whereclause : Where clause to generate databases list.
| |
| -AGR Nb sec : Nb of seconds between two runs (by default 1s).
| |
| -AGE Nb sec : Nb of seconds between two checks of end (by default 10s).
| |
| -FRT return_code : Force return code value on error.
| |
| -Opt option : Additional options for mysqldump.
| |
| -Dist : For distant connection to database (change $gvsqw_ConnectString to $gvsqw_DistConnectString ).
| |
| -AddMail email : Email address to add at 'xxx'.
| |
| -SendReport : Send execution log report.
| |
| -NoMail : Deactivate sendmail on error xxx (by default, send on error).
| |
| -Locale locale : Force Locale for help display (fr,en).
| |
| -Consistent : Lock for consistent mode (by default, no lock).
| |
| -Exec : Execute commands (default, display generated commands)
| |
|
| |
|
| |
| Enjoy !
| |