mysql
Installation
apt install mariadb-server
Le fichier de configuration est /etc/mysql/mariadb.conf.d/50-server.cnf
Le bind et le port peuvent être changés dans ce fichier (le port par defaut est 3306.
port = 3306
bind-address = 0.0.0.0
J’ai mis 0.0.0.0 pour le bind pour laisser tout le monde y accéder.
systemctl restart mariadb
Securité
mysql_secure_installation
Créer un utilisateur mysql
Ajout des droit select sur une base
CREATE USER 'user'@'localhost' IDENTIFIED BY 'mdp';
GRANT SELECT ON [nombase].* TO 'mailuser'@'localhost';
FLUSH PRIVILEGES;
Exemple utilisateur qui a tout les droits
CREATE USER 'user'@'%' IDENTIFIED BY 'mdp';
GRANT ALL PRIVILEGES ON * . * TO 'user'@'%';
FLUSH PRIVILEGES;
Attention c'est quand même un utilisateur avec tous les droits depuis l'exterieur !
Restaurer une table depuis un dump
- Créer la base de données
mysql -u [username] -p
CREATE DATABASE [database_name];
- Importer la base
mysql -u [username] -p [database_name] < file.sql
- Exporter la table
mysqldump [database_name] [table_name] > file.sql
- Re-importer la table
mysql -u [username] -p [database_name] < file.sql
Exporter en .sql
mysqldump -u user -p my_database > db.sql
Importer un fichier sql
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
Installer adminer
Adminer est phpmyadmin en plus léger (en mieux !) L’installation est hyper simple :
- Installer le paquet
apt install adminer
OU Installer depuis le site
mkdir /usr/share/adminer
wget "http://www.adminer.org/latest.php" -O /usr/share/adminer/latest.php
ln -s /usr/share/adminer/latest.php /usr/share/adminer/adminer.php
- Ajouter l’alias qui va bien
echo "Alias /adminer.php /usr/share/adminer/adminer" | tee /etc/apache2/conf-available/adminer.conf
a2enconf adminer.conf
Adminer est maintenant accessible à l’adresse suivant monsite.fr/adminer
phpmyadmin
Pour installer phpmyadmin il faut dans certains cas modifier le fichier apache2.conf :
Ajouter à la fin du fichier /etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf
Ensuite redémarer apache
/etc/init.d/apache2 restart
Profile de connexion
Avec mysql vous pouvez créer des profiles pour simplifier vos commandes mysql. Vous pourrez alors vous servir de ces profiles dans vos scripts ou dans des commandes classiques.
Pour créer un profile, il faut créer un fichier nommé .my.cnf
dans le dossier de l’utilisateur :
[mysql]
user = user
password = password
host = 10.0.0.32
Pour les commandes mysqldump remplacez [mysql] par [mysqldump] dans le fichier
Ensuite pensez bien à changer les droits de ce fichier :
chmod 600 /root/.my.cnf
Maintenant vous n’aurez plus besoin de rentrer le mot de passe pour lancer vos commande