Différences entre les versions de « Mysql commandes diverses »
De BlaxWiki
Aller à la navigationAller à la recherchem (a déplacé Mysql Commandes Diverses vers Mysql commandes diverses) |
|
(Aucune différence)
| |
Version du 30 janvier 2013 à 11:49
Documentation générale sur mysql (tiré de http://www.dj-j.net/waka/Linux:Administration_MySQL)
Commandes divers
- describe nomdunetable : info sur la structure d'une table
- show full processlist : info sur les requetes en cours
- show variables : donne les variables du serveur mysql
- show variables like '%char%': donne les variables incluant *char*
- \G à la fin d'une requete sort le résultat en ligne et non en colonne
- \P more : définit le pager sur more, ce qui permet d'afficher page par page
- show grants for user@host : info sur les droits de ce user
- select (count(*)) from user : retourne le nombre
- insert into whitelist set login="smtp@corp.lecroupier.com", passwd="oueteo"
- select if( find_in_set('Migrated',migrated),'','') from easy.mbox
- grant all privileges on *.* to 'root'@'ip' identified by "mdp" (rajoute un user root pour taper depuis une autre ip que localhost)
- grant all privileges on *.* to 'root'@'ip' with grant option identified by "mdp" /!\ /!\ /!\ TOUJOURS BIEN METTRE UN identified by SINON CELA CREE UN USER SANS MOT DE PASSE /!\/!\
- update mysql.user set password = password('newpasswd') where User="vision" (modifie le password)
- delete from nom_table where id=1 and name="lkl"
- update nom_table set prenom='Jean-Pierre', nom='Papin', ville='Marseille', enfants=3 WHERE id=1 (Si on est sur qu'il n'y a qu un
enregistrement à supprimer, on peut rajouter limit 1 à la fin dans le cas où nous ne sommes pas sur
- create user 'root'@'172.26.15.17' identified by 'tVBBF1OO'
- Exemple de création de tables:
CREATE TABLE `pop3_imap_proxy` (`user` varchar(128) NOT NULL,`servername` varchar(255) NOT NULL,`port` varchar(8) default NULL,PRIMARY KEY (`user`),
KEY `idxtblPerdition_user` (`user`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
- use $nomdatabase; show variables like "character_set_database"; show variables like "collation_database" : permet de voir le charset de la base (utf8...)
Pb avec mysql 4.1 et client 3.23
mysql > SET PASSWORD FOR 'postfix'@'localhost' = OLD_PASSWORD('reixaetu');
mysql > flush privileges;
ou
# mysqladmin -uroot! -p -hip_du_serveur! old-password nouveaupassword!
ou
dans le my.cnf en mettant :
set_variable = old_passwords=1 dans la partie [mysqld]
Commandes mysql en bash
mysql -u postfix -e "INSERT into mailbox (username,password,name,maildir,domain) values ('$MBOX', '$PASSWD', '$NAME', '$MBOX/', '$DOMAIN');" -pmotdepasse postfix
mysqlhotcopy : script Perl qui utilise LOCK TABLES, FLUSH TABLES et cp ou scp pour faire rapidement des sauvegardes de bases. C'est la méthode la plus rapide pour faire une sauvegarde. C'est aussi le moyen le plus sûr pour copier des tables et bases, mais il ne peut fonctionner que sur la machine qui contient les fichiers de données, il ne fonctionne qu'avec les tables de type MyISAM et ISAM.
Reset du password root
1. Arreter le serveur mysql (avec le script d'init)
2. Sous le user mysql :
# mysqld --skip-grant-tables --skip-networking --datadir=/data/mysql/data --pid-file=/data/mysql/data/antispam.amesys.fr.pid --socket=/data/mysql/data/mysql.sock
(les options --datadir, --pid-file et --socket sont optionnellesà
3. Sous le user root
# mysql --socket=/data/mysql/data/mysql.sock
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD('Ch00bAk1') WHERE user="root";
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)