15-09-2021

This commit is contained in:
2021-09-15 11:43:35 +02:00
parent bb890cba15
commit 6c514dbbef
28 changed files with 1960 additions and 770 deletions

158
docs/MySQL/bases.md Normal file
View File

@@ -0,0 +1,158 @@
# Bases
### Voir toutes les bases:
`mysql> SHOW DATABASES;`
```mysql
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| wordpress |
+--------------------+
```
### Utiliser une base existante:
`mysql> USE database;`
```mysql
MariaDB [(none)]> USE wordpress;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [wordpress]>
```
### Créer une base de donnée:
`mysql> CREATE DATABASE database;`
```mysql
MariaDB [(none)]> CREATE DATABASE bdd;
Query OK, 1 row affected (0.001 sec)
```
et donner les privilèges à un utilisateur (existant) sur cette base:
```mysql
MariaDB [(none)]> GRANT ALL ON bdd.* TO 'theuser'@'localhost';
Query OK, 0 rows affected (0.021 sec)
MariaDB [(none)]> FLUSH PRIVILEGES
```
ou à un utilisateur qui n'existe pas encore:
```mysql
MariaDB [(none)]> GRANT ALL ON bdd.* TO 'matrix'@'localhost' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.030 sec)
MariaDB [(none)]> FLUSH PRIVILEGES
```
L'utilisateur 'matrix' sera crée.
`mysql> CREATE DATABASE IF NOT EXISTS database;`
Avec `IF NOT EXISTS`, la base est créée uniquement si il n'y a pas de conflit de nom. Sans, MySQL envoie une erreur.
```mysql
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS bdd;
Query OK, 1 row affected (0.003 sec)
```
`CHARACTER SET` `COLLATE`
```mariadb
MariaDB [(none)]> CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.005 sec)
```
### Supprimer une base:
`mysql> DROP DATABASE database;`
```mysql
MariaDB [(none)]> DROP DATABASE bdd;
Query OK, 0 rows affected (0.074 sec)
```
Ajouter `IF EXISTS` évite le message d'erreur si la base n'existe pas:
```mariadb
MariaDB [(none)]> DROP DATABASE IF EXISTS zenphoto;
Query OK, 0 rows affected, 1 warning (0.000 sec)
```
```mariadb
MariaDB [(none)]> DROP DATABASE zenphoto;
ERROR 1008 (HY000): Can't drop database 'zenphoto'; database doesn't exist
```
#### Bases dans macOS:
Les bases se trouvent dans: `$(brew --prefix)/var/mysql`
**mac intel:**
```bash
bruno@SilverBook: /usr/local/var/mysql $ l
total 245920
-rw-rw---- 1 bruno admin 6519 15 oct 17:48 SilverBook.local.err
-rw-rw---- 1 bruno admin 5 15 oct 17:48 SilverBook.local.pid
-rw-rw---- 1 bruno admin 24576 15 oct 17:46 aria_log.00000001
-rw-rw---- 1 bruno admin 52 15 oct 17:46 aria_log_control
-rw-r----- 1 bruno admin 976 15 oct 17:46 ib_buffer_pool
-rw-rw---- 1 bruno admin 50331648 15 oct 17:48 ib_logfile0
-rw-rw---- 1 bruno admin 50331648 6 aoû 20:18 ib_logfile1
-rw-rw---- 1 bruno admin 12582912 15 oct 17:46 ibdata1
-rw-rw---- 1 bruno admin 12582912 15 oct 17:48 ibtmp1
-rw-rw---- 1 bruno admin 0 6 aoû 20:18 multi-master.info
drwx------ 90 bruno admin 2880 6 aoû 20:18 mysql
drwx------ 3 bruno admin 96 6 aoû 20:18 performance_schema
-rw-rw---- 1 bruno admin 3047 11 aoû 22:49 silverbook-1.home.err
-rw-rw---- 1 bruno admin 30926 15 oct 17:46 silverbook.home.err
```
**mac M1:**
```bash
cd /opt/homebrew/var/mysql
total 123324
-rw-rw---- 1 bruno admin 7308 sep 2 16:19 AirBook.err
-rw-rw---- 1 bruno admin 5 aoû 11 23:09 airbook.pid
-rw-rw---- 1 bruno admin 417792 sep 3 18:18 aria_log.00000001
-rw-rw---- 1 bruno admin 52 aoû 11 22:49 aria_log_control
-rw-rw---- 1 bruno admin 16384 sep 3 18:18 ddl_recovery.log
-rw-r----- 1 bruno admin 946 aoû 11 22:49 ib_buffer_pool
-rw-rw---- 1 bruno admin 100663296 sep 3 18:18 ib_logfile0
-rw-rw---- 1 bruno admin 12582912 aoû 11 22:49 ibdata1
-rw-rw---- 1 bruno admin 12582912 aoû 11 23:09 ibtmp1
-rw-rw---- 1 bruno admin 0 jul 29 09:44 multi-master.info
drwx------ 90 bruno admin 2880 sep 3 18:18 mysql
drwx------ 3 bruno admin 96 jul 29 09:43 performance_schema
drwx------ 109 bruno admin 3488 sep 3 18:18 sys
drwx------ 27 bruno admin 864 sep 3 18:18 wordpress
```