Trucs et astuces divers quant à la gestion d'un serveur MySQL
Création d'un DBA
Par défaut mysql est ouvert au quatres vents, pour créer un DBA, lancer mysql et taper :
-- Création d'un dba pouvant accéder à la mySql en local uniquement
GRANT ALL PRIVILEGES ON *.* TO 'login_dba'@'localhost' IDENTIFIED BY 'dba_password' WITH GRANT OPTION;
-- Création d'un dba pouvant accéder à la mySql de l'ip 192.168.0.10
GRANT ALL PRIVILEGES ON *.* TO 'login_dba'@'192.168.0.10/255.255.255.0' IDENTIFIED BY 'dba_password' WITH GRANT OPTION;
-- mise à jour des droits
FLUSH PRIVILEGES;
Création d'un utilisateur standard sur une base donnée
GRANT SELECT, UPDATE, INSERT, DELETE ON nom_base.* TO 'login_utilisateur'@'localhost' IDENTIFIED BY 'mot_de_passe';
-- mise à jour des droits
FLUSH PRIVILEGES;
Backup en SQL
mysqldump --tab=/path/to/some/dir --opt db_name
Backup du dossier
mysqlhotcopy db_name /path/to/some/dir
Chercher/remplacer
Fonction vraiment très pratique que celle-là:
update nom_table set nom_champ = replace(nom_chap,'ceci','cela')
Encodage UTF8
; à coller dans /etc/my.ini
default-character-SET=utf8
; changement d'encodage pour une base
alter database mydatabase charset=utf8;
; puis pour chaque table
alter table ma_table charset=utf8;
; puis pour chaque colonne (on reste calme...)
alter table mytable alter column mycol charset=utf8;
; en AVANT envoi de TOUTE commande insert, update, etc contenant de l'UTF, faire une fois un :
SET NAMES UTF8;
Poster un nouveau commentaire