Start MySQL docker
docker run --name local-mysql -d \
-v <local data dir>:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=<password> \
-p 3306:3306 \
mysql:5.7.21
Connect to docker with MySQL client
docker run -it --link local-mysql:mysql \
--rm mysql:5.7.21 \
sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
Create database
CREATE DATABASE <database>;
Select database
USE <database>;
Show all tables
SHOW TABLES;
Create table
CREATE TABLE items (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
type INT NOT NULL,
PRIMARY KEY (id)
);
Show table schema
DESCRIBE items;
Create user with limited privileges
GRANT SELECT, INSERT, UPDATE, DELETE ON <database>.* TO '<user name>'@'%' IDENTIFIED BY '<password>';
Insert record
INSERT INTO items (type) VALUES (100);