DB1_create_databases_prod_and_test_and_users.sql
3.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
-- phpMyAdmin SQL Dump
-- version 4.7.8
-- https://www.phpmyadmin.net/
--
-- Hôte : 127.0.0.1
-- Généré le : ven. 11 jan. 2019 à 18:07
-- Version du serveur : 5.7.21
-- Version de PHP : 5.6.33
-- SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-- SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de données : `_mydb_`
--
-- (EP) Est-ce vraiment utile de faire une transaction si tot ?
-- SET AUTOCOMMIT = 0;
-- START TRANSACTION;
-- Si la BD existe deja, a priori on veut la re-créer, donc il faut d'abord la supprimer
-- On fait ca car sinon, si elle existe deja, la re-creation des tables cause des problèmes
-- qui sont dus aux index (qui eux ne sont pas supprimés...)
DROP DATABASE IF EXISTS _mydb_;
DROP DATABASE IF EXISTS _mydbtest_;
-- CREATE SCHEMA IF NOT EXISTS _mydb_ DEFAULT CHARACTER SET latin1;
CREATE DATABASE IF NOT EXISTS _mydb_ DEFAULT CHARACTER SET latin1;
-- CREATE SCHEMA IF NOT EXISTS _mydbtest_ DEFAULT CHARACTER SET latin1;
CREATE DATABASE IF NOT EXISTS _mydbtest_ DEFAULT CHARACTER SET latin1;
-- Creation du proprietaire de la BD
-- La ligne suivante serait la meilleure, mais ne suffit pas, impossible de se connecter a la BD avec ceci :
-- grant all on _mydb_.* to 'bddUserName' identified by 'bddUserPass';
-- ni avec ceci :
-- grant all on _mydb_.* to 'bddUserName'@'%' identified by 'bddUserPass';
-- Il faut donc faire ceci (ajouter localhost) et on pourra alors se connecter a la BD !!! :
-- Il faut supprimer l'utilisateur avant de l'ajouter.
-- (EP 2020-01-20) :
-- Ca ne marche plus avec mysql 5.7 !!!
-- Par contre, ca risque d'etre toujours necessaire pour les anciennes versions !!!
-- TODO: tester ce script avec une ancienne version
-- GRANT USAGE ON *.* TO 'mydb_user';
-- DROP USER 'mydb_user';
-- GRANT USAGE ON *.* TO 'superadmin';
-- DROP USER 'superadmin';
-- grant all on _mydb_.* to '_mydb_'@'localhost' identified by '_mydb_1';
-- grant all on _mydb_.* to 'mydb_user'@'localhost' identified by 'mydb_pass';
-- grant all on _mydb_.* to '_mydb_user_'@'_server_name_' identified by '_mydb_pass_';
-- host OK SSI PAS DOCKER :
-- grant all on _mydb_.* to '_mydb_user_'@'localhost' identified by '_mydb_pass_';
-- host OK POUR DOCKER, mais bon faut deviner le nom...
-- grant all on _mydb_.* to '_mydb_user_'@'labinvent.labinventdock_labinvent-network' identified by '_mydb_pass_';
-- host OK POUR DOCKER, on pourrait eventuellement utiliser ça...
-- grant all on _mydb_.* to '_mydb_user_'@'labinvent.%' identified by '_mydb_pass_';
-- host OK POUR DOCKER, simple, mais pas super secure :
-- grant all on _mydb_.* to '_mydb_user_'@'%' identified by '_mydb_pass_';
-- _mydb_host_ = '%' si DOCKER, et 'localhost' si PAS docker (ou autre host défini)
grant all on _mydb_.* to '_mydb_user_'@'_mydb_host_' identified by '_mydb_pass_';
-- grant all on _mydbtest_.* to 'superadmin'@'localhost' identified by 'superadmin';
-- grant all on _mydbtest_.* to 'mydb_user'@'localhost' identified by 'mydb_pass';
-- grant all on _mydbtest_.* to '_mydb_user_'@'_server_name_' identified by '_mydb_pass_';
-- grant all on _mydbtest_.* to '_mydb_user_'@'localhost' identified by '_mydb_pass_';
-- grant all on _mydbtest_.* to '_mydb_user_'@'%' identified by '_mydb_pass_';
grant all on _mydbtest_.* to '_mydb_user_'@'_mydb_host_' identified by '_mydb_pass_';
-- Mais, ca serait plus prudent de limiter les droits (au lieu de "grant all"):
-- grant select,insert,update,delete on _mydb_.* to ...
flush privileges;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-- USE _mydb_;
-- Est-ce bien utile ?
-- SET FOREIGN_KEY_CHECKS = 0;