<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pedromussato.com/index.php?action=history&amp;feed=atom&amp;title=MySQL%2FMariaDB</id>
	<title>MySQL/MariaDB - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pedromussato.com/index.php?action=history&amp;feed=atom&amp;title=MySQL%2FMariaDB"/>
	<link rel="alternate" type="text/html" href="https://wiki.pedromussato.com/index.php?title=MySQL/MariaDB&amp;action=history"/>
	<updated>2026-04-12T13:13:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.pedromussato.com/index.php?title=MySQL/MariaDB&amp;diff=227&amp;oldid=prev</id>
		<title>413vhcu1lq0463ob: Created page with &quot;== Stuffs ==  === Creating and deleting databases on MariaDB ===  CREATE DATABASE database_name;  === Creating and deleting users on MariaDB ===  CREATE USER &#039;username&#039;@&#039;%&#039; IDENTIFIED BY &#039;password&#039;;   DROP USER &#039;username&#039;@&#039;%&#039;;  === Granting privileges on databases to users on MariaDB ===  GRANT ALL PRIVILEGES ON database_name.* TO &#039;username&#039;@&#039;%&#039;;  === FLUSH PRIVILEGES === At the end, always flush privileges.  FLUSH PRIVILEGES;  === How to make backups of MariaDB === Almo...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.pedromussato.com/index.php?title=MySQL/MariaDB&amp;diff=227&amp;oldid=prev"/>
		<updated>2025-02-03T10:17:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Stuffs ==  === Creating and deleting databases on MariaDB ===  CREATE DATABASE database_name;  === Creating and deleting users on MariaDB ===  CREATE USER &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;password&amp;#039;;   DROP USER &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039;;  === Granting privileges on databases to users on MariaDB ===  GRANT ALL PRIVILEGES ON database_name.* TO &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039;;  === FLUSH PRIVILEGES === At the end, always flush privileges.  FLUSH PRIVILEGES;  === How to make backups of MariaDB === Almo...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Stuffs ==&lt;br /&gt;
&lt;br /&gt;
=== Creating and deleting databases on MariaDB ===&lt;br /&gt;
 CREATE DATABASE database_name;&lt;br /&gt;
&lt;br /&gt;
=== Creating and deleting users on MariaDB ===&lt;br /&gt;
 CREATE USER &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039; IDENTIFIED BY &amp;#039;password&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 DROP USER &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
=== Granting privileges on databases to users on MariaDB ===&lt;br /&gt;
 GRANT ALL PRIVILEGES ON database_name.* TO &amp;#039;username&amp;#039;@&amp;#039;%&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
=== FLUSH PRIVILEGES ===&lt;br /&gt;
At the end, always flush privileges.&lt;br /&gt;
 FLUSH PRIVILEGES;&lt;br /&gt;
&lt;br /&gt;
=== How to make backups of MariaDB ===&lt;br /&gt;
Almost the same as Linux file backups, but using the MariaDB dump file as the source. If you want a different retention policy, you can simply change the days in the script. I recommend using root to run this script so as not to show the username and password in the script, but if necessary uncomment and fill in the blanks.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 DATABASE=&lt;br /&gt;
 # USERNAME AND PASSWORD NOT NEEDED IF YOU&amp;#039;RE RUNNING WITH ROOT.&lt;br /&gt;
 #SERVER=&lt;br /&gt;
 #USERNAME=&lt;br /&gt;
 #PASSWORD=&lt;br /&gt;
 NAME=&lt;br /&gt;
 OUTPUT_DIR=&lt;br /&gt;
 WEEKLY_BACKUP_RETENTION=30 #DAYS&lt;br /&gt;
 MONTHLY_BACKUP_RETENTION=365 #DAYS&lt;br /&gt;
 YEARLY_BACKUP_RETENTION=3650 #DAYS&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p $OUTPUT_DIR/&lt;br /&gt;
 mkdir -p $OUTPUT_DIR/daily&lt;br /&gt;
 mkdir -p $OUTPUT_DIR/weekly&lt;br /&gt;
 mkdir -p $OUTPUT_DIR/monthly&lt;br /&gt;
 mkdir -p $OUTPUT_DIR/yearly&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;STARTING $NAME BACKUP $(date +&amp;#039;%Y-%m-%d-%H-%M-%S&amp;#039;)&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 export WEEK_DAY=`/bin/date +%u`&lt;br /&gt;
 &lt;br /&gt;
 # delete the old file&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;DELETING $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz IF EXISTS FILE&amp;quot;&lt;br /&gt;
 rm -f $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz&lt;br /&gt;
 echo &amp;quot;DELETING $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql IF EXISTS FILE&amp;quot;&lt;br /&gt;
 rm -f $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql&lt;br /&gt;
 &lt;br /&gt;
 export DAY=`/bin/date +%d`&lt;br /&gt;
 export MONTH_DAY=`/bin/date +%d-%m`&lt;br /&gt;
 &lt;br /&gt;
 #IF USING USERNAME AND PASSWORD&lt;br /&gt;
 #/usr/bin/mysqldump -u &amp;quot;$USERNAME&amp;quot; -p&amp;quot;$PASSWORD&amp;quot; -h &amp;quot;$SERVER&amp;quot; &amp;quot;$DATABASE&amp;quot; --no-tablespaces &amp;gt; $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql&lt;br /&gt;
 /usr/bin/mysqldump $DATABASE --no-tablespaces &amp;gt; $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;GENERATING $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz FILE&amp;quot;&lt;br /&gt;
 tar czf $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql&lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;DELETING $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql FILE&amp;quot;&lt;br /&gt;
 rm -f $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.sql&lt;br /&gt;
 &lt;br /&gt;
 DATE=`/bin/date +%Y-%m-%d`&lt;br /&gt;
 &lt;br /&gt;
 #####################&lt;br /&gt;
 ##   WEEK BACKUP   ##&lt;br /&gt;
 #####################&lt;br /&gt;
 if [ &amp;quot;$WEEK_DAY&amp;quot; == &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
 echo &amp;quot;DOING WEEK BACKUP OF $NAME&amp;quot;&lt;br /&gt;
 cp $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz $OUTPUT_DIR/weekly/$NAME-$DATE.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 #####################&lt;br /&gt;
 ##  MONTH BACKUP   ##&lt;br /&gt;
 #####################&lt;br /&gt;
 if [ &amp;quot;$DAY&amp;quot; == &amp;quot;01&amp;quot; ]; then&lt;br /&gt;
 echo &amp;quot;DOING MONTH BACKUP OF $NAME&amp;quot;&lt;br /&gt;
 cp $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz $OUTPUT_DIR/monthly/$NAME-$DATE.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 #####################&lt;br /&gt;
 ##  YEAR BACKUP    ##&lt;br /&gt;
 #####################&lt;br /&gt;
 if [ &amp;quot;$MONTH_DAY&amp;quot; == &amp;quot;01-01&amp;quot; ]; then&lt;br /&gt;
 echo &amp;quot;DOING YEAR BACKUP OF $NAME&amp;quot;&lt;br /&gt;
 cp $OUTPUT_DIR/daily/$NAME-$WEEK_DAY.tar.gz $OUTPUT_DIR/yearly/$NAME-$DATE.tar.gz&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 #####################&lt;br /&gt;
 ## RETENTION POLICY##&lt;br /&gt;
 #####################&lt;br /&gt;
 &lt;br /&gt;
 find $OUTPUT_DIR/weekly -type f -mtime +$WEEKLY_BACKUP_RETENTION | xargs rm -f&lt;br /&gt;
 &lt;br /&gt;
 find $OUTPUT_DIR/monthly -type f -mtime +$MONTHLY_BACKUP_RETENTION | xargs rm -f&lt;br /&gt;
 &lt;br /&gt;
 find $OUTPUT_DIR/yearly -type f -mtime +$YEARLY_BACKUP_RETENTION | xargs rm -f&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 echo &amp;quot;FINISHING $NAME BACKUP $(date +&amp;#039;%Y-%m-%d-%H-%M-%S&amp;#039;)&amp;quot;&lt;/div&gt;</summary>
		<author><name>413vhcu1lq0463ob</name></author>
	</entry>
</feed>