golb

SQL

MySQL using MariaDB

sudo mysql -u root

# in mysql
SHOW DATABASES;

# create database
CREATE DATABASE db_name;

# create user
CREATE USER username@localhost IDENTIFIED BY 'password';
# check creation
SELECT User FROM mysql.user;

GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'localhost';
exit

# load old database
mysql -u root db_name < save.sql

# verify
mysql -u root db_name -e "SHOW TABLES;"

MySQL docker

# remove docker if exists
docker rm --force docker-mysql

docker run --name docker-mysql -d -p 3306:3306 \
-e MYSQL_ROOT_PASSWORD="random-root-password" \
-e MYSQL_DATABASE="DATABASE_NAME" \
-e MYSQL_USER="username" \
-e MYSQL_PASSWORD="password" \
-v $(pwd)/save.sql:/docker-entrypoint-initdb.d/dump.sql \
mysql:latest

PostgreSQL commands

\l to list databases
\c database to change database
\dt to list tables
\d table to show details about a table

EXPLAIN ... -- plan
EXPLAIN ANALYZE ... -- time