<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.plecko.hr/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.plecko.hr/feed.php">
        <title>Eureka Moment database:mysql</title>
        <description></description>
        <link>https://wiki.plecko.hr/</link>
        <image rdf:resource="https://wiki.plecko.hr/lib/tpl/bootstrap3/images/favicon.ico" />
       <dc:date>2026-05-01T08:42:03+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:backup&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:connections&amp;rev=1634035830&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:create_db&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:duplicate_table_and_data&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:duplicates_and_gaps&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:get_item_position_in_resultset&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:insert_if_not_exists&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:manage_users&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:move_data_folder&amp;rev=1582277640&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:password&amp;rev=1750937886&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:restore_deleted_root&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:start&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:ts_on_ins_and_upd&amp;rev=1572509040&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.plecko.hr/doku.php?id=database:mysql:weekdays&amp;rev=1572509040&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.plecko.hr/lib/tpl/bootstrap3/images/favicon.ico">
        <title>Eureka Moment</title>
        <link>https://wiki.plecko.hr/</link>
        <url>https://wiki.plecko.hr/lib/tpl/bootstrap3/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:backup&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:backup</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:backup&amp;rev=1572509040&amp;do=diff</link>
        <description>Bash script MySql Backup

If you host any MySql databases, you should certianly make use of the command line tools to make backups. There are never enough backups.

The script below this text, in combination with the specified crontab entries, will give you the following backup:</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:connections&amp;rev=1634035830&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-12T12:50:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:connections</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:connections&amp;rev=1634035830&amp;do=diff</link>
        <description>Change connection settings in MySql


SET GLOBAL max_connect_errors = 100000000;
SET GLOBAL max_connections = 10000;
SHOW VARIABLES LIKE &quot;max_connections&quot;;
SHOW VARIABLES LIKE &quot;max_connect_errors&quot;;
FLUSH HOSTS;</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:create_db&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:create_db</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:create_db&amp;rev=1572509040&amp;do=diff</link>
        <description>Create mysql database

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:duplicate_table_and_data&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:duplicate_table_and_data</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:duplicate_table_and_data&amp;rev=1572509040&amp;do=diff</link>
        <description>Duplicate table and data in MySql

Use the following SQL code to duplicate table structure:

CREATE TABLE newtable LIKE oldtable;

And if you need the same data in the new table (for testing?), copy the data with this SQL code:

INSERT INTO newtable SELECT * FROM oldtable;</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:duplicates_and_gaps&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:duplicates_and_gaps</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:duplicates_and_gaps&amp;rev=1572509040&amp;do=diff</link>
        <description>Find gaps or duplicates in number sequences in MySql


select l.id + 1 as start
    from sequence as l 
    left outer join sequence as r on l.id + 1 = r.id
    where r.id is null



select min(l.id + 1) as start 
    from sequence as l 
    left outer join sequence as r on l.id + 1 = r.id
    where r.id is null</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:get_item_position_in_resultset&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:get_item_position_in_resultset</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:get_item_position_in_resultset&amp;rev=1572509040&amp;do=diff</link>
        <description>Get row position in ordered result set (pagination)


SET @val := 0;
CREATE TEMPORARY TABLE IF NOT EXISTS inv_items_tmp AS (SELECT (@val := @val + 1) AS val, id FROM inv_items ORDER BY inv_no,model);
SET @oneless := (SELECT val FROM inv_items_tmp WHERE id=2977);
SELECT COUNT(*) FROM inv_items_tmp WHERE val&lt;@oneless;
DROP TABLE inv_items_tmp;</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:insert_if_not_exists&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:insert_if_not_exists</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:insert_if_not_exists&amp;rev=1572509040&amp;do=diff</link>
        <description>MySQL Insert If Not Exists

There are 3 possible solutions to insert data into MySql table (when it is possible that data might be duplicate): using INSERT IGNORE, REPLACE, or INSERT … ON DUPLICATE KEY UPDATE.

Method 1: using REPLACE

REPLACE INTO `table` SET `field1` = 'value1', `field2` = 12345, `field3` = 12678;</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:manage_users&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:manage_users</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:manage_users&amp;rev=1572509040&amp;do=diff</link>
        <description>Manage MySql users


CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';



-- Grant all privileges including the grant option (basically an additional root user)
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'%' WITH GRANT OPTION;

-- Grant all privileges
GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'%';

-- Grant read-only privileges
GRANT SELECT ON *.* TO 'newuser'@'%';</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:move_data_folder&amp;rev=1582277640&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-21T10:34:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:move_data_folder</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:move_data_folder&amp;rev=1582277640&amp;do=diff</link>
        <description>Relocate MySql data folder


rsync -avzh /var/lib/mysql /data
mv /var/lib/mysql /var/lib/mysql.bak
mkdir /var/lib/mysql
mount -B /data/mysql /var/lib/mysql


Additionally


/data/mysql     /var/lib/mysql  auto    defaults,nofail,nobootwait,bind 0       2</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:password&amp;rev=1750937886&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-06-26T13:38:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:password</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:password&amp;rev=1750937886&amp;do=diff</link>
        <description>MySql password and old_password


/* Old password type */
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('mypass');
/* New password type */
SET PASSWORD FOR 'some_user'@'some_host' = PASSWORD('mypass');

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password  BY 'mypass';</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:restore_deleted_root&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:restore_deleted_root</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:restore_deleted_root&amp;rev=1572509040&amp;do=diff</link>
        <description>Restoring Accidently Deleted Root User in MySQL

If you, like me, have accidentally deleted your root user in MySQL, you will need to add the user manually.

First off, start MySQL with –skip-grant-tables by editing /etc/my.cnf

[mysqld]
skip_grant_tables</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:start&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:start</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:start&amp;rev=1572509040&amp;do=diff</link>
        <description>MySql




	* Bash script MySql Backup
	* Change connection settings in MySql
	* Count weekdays between two dates in MySql
	* Create mysql database
	* Duplicate table and data in MySql
	* Find gaps or duplicates in number sequences in MySql
	* Get row position in ordered result set (pagination)
	* Manage MySql users
	* MySQL Insert If Not Exists
	* MySql password and old_password
	* Refresh timestamp field on insert and update
	* Relocate MySql data folder
	* Restoring Accidently Deleted Root Use…</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:ts_on_ins_and_upd&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:ts_on_ins_and_upd</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:ts_on_ins_and_upd&amp;rev=1572509040&amp;do=diff</link>
        <description>Refresh timestamp field on insert and update

When working with databases, it's a good practice to do as much data manipulation inside the database server, instead of usercode. So, using triggers, stored procedures and functions is an excellent way to modify linked data across tables (or calculate certain values).</description>
    </item>
    <item rdf:about="https://wiki.plecko.hr/doku.php?id=database:mysql:weekdays&amp;rev=1572509040&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-31T09:04:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>database:mysql:weekdays</title>
        <link>https://wiki.plecko.hr/doku.php?id=database:mysql:weekdays&amp;rev=1572509040&amp;do=diff</link>
        <description>Count weekdays between two dates in MySql


DELIMITER $$

CREATE DEFINER=`su`@`%` FUNCTION `TOTAL_WEEKDAYS`(date1 DATE, date2 DATE) RETURNS INT(11)
RETURN ABS(DATEDIFF(date2, date1)) + 1
     - ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
                    ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2
     - (DAYOFWEEK(IF(date1 &lt; date2, date1, date2)) = 1)
     - (DAYOFWEEK(IF(date1 &gt; date2, date1, date2)) = 7)$$

DELIMITER ;</description>
    </item>
</rdf:RDF>
