Skip to content

Instantly share code, notes, and snippets.

@git-e-001
Forked from eliyas5044/MySQL.md
Created May 23, 2021 06:23
Show Gist options
  • Save git-e-001/bac6c303de039febef81b6557666575e to your computer and use it in GitHub Desktop.
Save git-e-001/bac6c303de039febef81b6557666575e to your computer and use it in GitHub Desktop.

Revisions

  1. @eliyas5044 eliyas5044 renamed this gist Mar 5, 2021. 1 changed file with 55 additions and 26 deletions.
    81 changes: 55 additions & 26 deletions MySQL.sh → MySQL.md
    Original file line number Diff line number Diff line change
    @@ -1,62 +1,90 @@
    // login to mysql
    // then enter db_password
    # MySQL CLI

    > To login into mysql, enter db_password
    ```
    mysql -u db_user -p
    ```

    // create database
    > Create database
    ```
    CREATE DATABASE db_name;
    ```

    // drop database
    > Drop database
    ```
    DROP DATABASE db_name;
    ```

    // drop table
    > Drop table
    ```
    DROP TABLE IF EXISTS db_name.table_name;
    ```

    // drop all tables
    > Drop all tables
    ```
    echo "db_name"| xargs -I{} sh -c "mysql -Nse 'show tables' {}| xargs -I[] mysql -e 'SET FOREIGN_KEY_CHECKS=0; drop table []' {}"
    ```

    // MySQL 5.7
    // create user
    > Create user in MySQL 5.7
    ```
    CREATE USER 'db_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'db_password';
    ```

    // grant permission
    > Grant permission
    ```
    GRANT ALL ON db_name.* TO 'db_user'@'localhost' IDENTIFIED BY 'db_password' WITH GRANT OPTION;
    ```

    // MySQL 8
    // create user
    > Create user in MySQL 8
    ```
    CREATE USER 'db_user'@'%' IDENTIFIED WITH mysql_native_password BY 'db_password';
    ```

    // grant permission
    > Grant permission
    ```
    GRANT ALL ON db_name.* TO 'db_user'@'%';
    ```

    > Reset `root` password
    ```
    UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';
    ```

    // reload grant
    > Reload grant
    ```
    FLUSH PRIVILEGES;
    ```

    // mysqldump database to export as gzip
    // run and enter db_password
    > mysqldump database to export as gzip
    ```
    mysqldump -u db_user -p db_name | gzip > ~/db.sql.gz
    ```

    // mysqldump database to export as sql
    // run and enter db_password
    > mysqldump database to export as sql
    ```
    mysqldump -u db_user -p db_name > ~/db.sql
    ```

    // mysqldump database to export as gzip from remote database
    // run and enter db_password
    > mysqldump database to export as gzip from remote database
    ```
    mysqldump -P 3306 -h ip_address -u db_user -p db_name | gzip > ~/db.sql.gz
    ```

    // import sql format to MySQL
    // run and enter db_password
    > Import sql format to MySQL
    ```
    mysql -u db_user -p db_name < ~/db.sql
    ```

    // import gzip format to MySQL
    // run and enter db_password
    > Import gzip format to MySQL
    ```
    zcat ~/db.sql.gz | mysql -u db_user -p db_name
    ```

    // create SSH tunnel to connect remote MySQL
    // run and enter password
    > Create SSH tunnel to connect remote MySQL
    ```
    ssh -fNg -L 3307:127.0.0.1:3306 user_name@ip_address
    // next connect MySQL in command line
    // run and enter db_password
    mysql -h 127.0.0.1 -P 3307 -u db_user -p db_name
    // for Laravel, change .env file
    @@ -66,3 +94,4 @@ DB_PORT=3307
    DB_DATABASE=db_name
    DB_USERNAME=db_user
    DB_PASSWORD=db_password
    ```
  2. @eliyas5044 eliyas5044 renamed this gist Mar 5, 2021. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions MySQL Commands → MySQL.sh
    Original file line number Diff line number Diff line change
    @@ -33,15 +33,15 @@ FLUSH PRIVILEGES;

    // mysqldump database to export as gzip
    // run and enter db_password
    mysqldump -u db_name -p user_name | gzip > ~/db.sql.gz
    mysqldump -u db_user -p db_name | gzip > ~/db.sql.gz

    // mysqldump database to export as sql
    // run and enter db_password
    mysqldump -u db_name -p user_name > ~/db.sql
    mysqldump -u db_user -p db_name > ~/db.sql

    // mysqldump database to export as gzip from remote database
    // run and enter db_password
    mysqldump -P 3306 -h ip_address -u db_name -p user_name | gzip > ~/db.sql.gz
    mysqldump -P 3306 -h ip_address -u db_user -p db_name | gzip > ~/db.sql.gz

    // import sql format to MySQL
    // run and enter db_password
  3. @eliyas5044 eliyas5044 revised this gist Aug 25, 2020. 1 changed file with 17 additions and 1 deletion.
    18 changes: 17 additions & 1 deletion MySQL Commands
    Original file line number Diff line number Diff line change
    @@ -49,4 +49,20 @@ mysql -u db_user -p db_name < ~/db.sql

    // import gzip format to MySQL
    // run and enter db_password
    zcat ~/db.sql.gz | mysql -u db_user -p db_name
    zcat ~/db.sql.gz | mysql -u db_user -p db_name

    // create SSH tunnel to connect remote MySQL
    // run and enter password
    ssh -fNg -L 3307:127.0.0.1:3306 user_name@ip_address

    // next connect MySQL in command line
    // run and enter db_password
    mysql -h 127.0.0.1 -P 3307 -u db_user -p db_name

    // for Laravel, change .env file
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3307
    DB_DATABASE=db_name
    DB_USERNAME=db_user
    DB_PASSWORD=db_password
  4. @eliyas5044 eliyas5044 created this gist Aug 22, 2020.
    52 changes: 52 additions & 0 deletions MySQL Commands
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,52 @@
    // login to mysql
    // then enter db_password
    mysql -u db_user -p

    // create database
    CREATE DATABASE db_name;

    // drop database
    DROP DATABASE db_name;

    // drop table
    DROP TABLE IF EXISTS db_name.table_name;

    // drop all tables
    echo "db_name"| xargs -I{} sh -c "mysql -Nse 'show tables' {}| xargs -I[] mysql -e 'SET FOREIGN_KEY_CHECKS=0; drop table []' {}"

    // MySQL 5.7
    // create user
    CREATE USER 'db_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'db_password';

    // grant permission
    GRANT ALL ON db_name.* TO 'db_user'@'localhost' IDENTIFIED BY 'db_password' WITH GRANT OPTION;

    // MySQL 8
    // create user
    CREATE USER 'db_user'@'%' IDENTIFIED WITH mysql_native_password BY 'db_password';

    // grant permission
    GRANT ALL ON db_name.* TO 'db_user'@'%';

    // reload grant
    FLUSH PRIVILEGES;

    // mysqldump database to export as gzip
    // run and enter db_password
    mysqldump -u db_name -p user_name | gzip > ~/db.sql.gz

    // mysqldump database to export as sql
    // run and enter db_password
    mysqldump -u db_name -p user_name > ~/db.sql

    // mysqldump database to export as gzip from remote database
    // run and enter db_password
    mysqldump -P 3306 -h ip_address -u db_name -p user_name | gzip > ~/db.sql.gz

    // import sql format to MySQL
    // run and enter db_password
    mysql -u db_user -p db_name < ~/db.sql

    // import gzip format to MySQL
    // run and enter db_password
    zcat ~/db.sql.gz | mysql -u db_user -p db_name