Difference between revisions of "FAQ:NewInstancePostgreSQL"

From Wiki_dbSQWare
Jump to: navigation, search
m (Reverted edits by Ymauger (talk) to last revision by Dtavernier)
(Tag: Rollback)
m (Blanked the page)
(Tag: Blanking)
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 !
 

Revision as of 13:50, 28 April 2025