database name : your_database_name
user : your_database_user
pass : your_password
connect
docker-compose exec mariadb bash
mysql -u root -p
=== mysql(mariadb) console sql ===
-- Create database
DROP DATABASE IF EXISTS your_database_name;
CREATE DATABASE IF NOT EXISTS your_database_name
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_unicode_ci';
-- Create user
SELECT User, Host, Password FROM mysql.user;
-- workspace console user
drop user 'your_database_user'@'your_workspace_host_ip_address';
create user IF NOT EXISTS 'your_database_user'@'your_workspace_host_ip_address' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'your_workspace_host_ip_address';
-- application user
drop user 'your_database_user'@'your_application_host_ip_address';
create user IF NOT EXISTS 'your_database_user'@'your_application_host_ip_address' IDENTIFIED BY 'your_password';
GRANT SELECT,INSERT,UPDATE,DELETE ON your_database_name.* TO 'your_database_user'@'your_application_host_ip_address';
-- mariadb database console user
drop user 'your_database_user'@'localhost';
create user IF NOT EXISTS 'your_database_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'localhost';
どのホストからもアクセスできるように設定
CREATE USER 'test'@'%' IDENTIFIED VIA mysql_native_password USING 'test1234';
GRANT USAGE ON *.* TO 'test'@'%' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `test`;
GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'%';