Outils pour utilisateurs

Outils du site


serveur_mysql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
serveur_mysql [2007/03/31 18:15] – créée thierryserveur_mysql [2011/01/03 12:18] (Version actuelle) thierry
Ligne 12: Ligne 12:
  
    # apt-get install mysql-client mysql-common    # apt-get install mysql-client mysql-common
 +
  
 ===== Root et password ===== ===== Root et password =====
 +
 +Lien: http://dev.mysql.com/doc/refman/5.1/en/passwords.html
 +
 +| :!: en cas de perte du password root (de mysql) , voir [[http://www.tinybox.net/astuces/mysqld-root-recovery|ici]] |
  
 Aucun mot de passe n'est demandé aprés l'installation. (Mais il me semble qu'on ne peut se connecter qu'en localhost). Aucun mot de passe n'est demandé aprés l'installation. (Mais il me semble qu'on ne peut se connecter qu'en localhost).
Ligne 91: Ligne 96:
    mysql -u root -p    mysql -u root -p
  
-===== User avec droit sur ses databases... =====+ 
 + 
 +===== Creation d'un User avec droit sur ses databases... =====
  
    mysql> GRANT ALL ON MYDATABASE.* TO thierry@localhost;    mysql> GRANT ALL ON MYDATABASE.* TO thierry@localhost;
    Query OK, 0 rows affected (0.00 sec)    Query OK, 0 rows affected (0.00 sec)
 +Voila l'utilisateur 'thierry' créé.
  
 On ne souhaite pas de mot de passe... sinon, on aurait ajouté: On ne souhaite pas de mot de passe... sinon, on aurait ajouté:
Ligne 101: Ligne 109:
  
 Mais comme l'accès est restreint à "thierry@localhost", et que le mot de passe sera forcement en clair quelques parts dans les programmes... autant ne pas en mettre. Mais comme l'accès est restreint à "thierry@localhost", et que le mot de passe sera forcement en clair quelques parts dans les programmes... autant ne pas en mettre.
 +
 +==== Autres privilèges ====
 +=== LOAD DATA INFILE ==
 +Si malgré les droits sur la ''DATABASE'', le chargement d'un fichier avec **''LOAD DATA INFILE ...''** retourne **''Access denied for user 'thierry'@'localhost' (using password: YES)''** , alors vous devez faire:
 +
 +  mysql> select user,File_priv from user where user='thierry';
 +  +---------+-----------+
 +  |  user   | File_priv |
 +  +---------+-----------+
 +  | thierry | N         |
 +  +---------+-----------+
 +  1 row in set (0.00 sec)
 +Donc, on pas les privilèges pour charger les fichiers ! alors faire:
 +  mysql> update user set File_priv='Y' where user='thierry' and host='localhost';
 +  Query OK, 1 row affected (0.00 sec)
 +  Rows matched: 1  Changed: 1  Warnings: 0
 +Et puis:
 +  mysql> flush privileges;
 +Et voila.
  
 ===== MYSQL et le monde exterieur ===== ===== MYSQL et le monde exterieur =====
Ligne 230: Ligne 257:
  
 Le fichier **all-databases.sql** est une serie de commande sql pour reconstruire les bases de données. Le fichier **all-databases.sql** est une serie de commande sql pour reconstruire les bases de données.
 +
  
 ==== Restaurer toute la base de données ==== ==== Restaurer toute la base de données ====
Ligne 255: Ligne 283:
    mysql> flush privileges;    mysql> flush privileges;
  
---+==== mysqlhotcopy ==== 
 + 
 +Liens: 
 +  *http://dev.mysql.com/doc/refman/5.0/fr/mysqldump.html 
 +  *http://www.thegeekstuff.com/2008/07/backup-and-restore-mysql-database-using-mysqlhotcopy/ 
 + 
 +| :!: Bug ! **''mysqlhotcopy''** ignore silencieusement toutes bases de données de 2 lettres !!!! Lien: http://bugs.mysql.com/bug.php?id=28460 | 
 + 
 +Pour installer la version "1.23", qui n'est pas buggé: 
 +  # wget http://backports.debian.org/debian-backports/pool/main/m/mysql-5.1/mysql-server-5.1_5.1.49-1~bpo50+1_i386.deb 
 +(recuperer une version de mysql plus recentes, *sans* l'installer !) 
 + 
 +Decompresser quelque part... 
 +  # dpkg -x mysql-server-5.1_5.1.49-1~bpo50+1_i386.deb .   
 +et recuperer le fichier dans **''./usr/bin/mysqlhotcopy''** ... Grrrr 
 + 
 +Bref, revenons a ce p'tit pense bête: 
 + 
 + 
 +Il faut nommer les bases a sauver. 
 + 
 +Exemple: 
 +  # mkdir /var/backups/mysql 
 +  # mysqlhotcopy --allowold --keepold --method=cp -u <USER> -p <MOT_DE_PASSE> {mysql,BaseSecrete}'./.*/' /var/backups/mysql/  
 + 
 +Aprés cela on a la copie *exacte* et *coohérente* . Par exemple, aprés plusieurs sauvegardes: 
 +  $ ls -lart /var/backups/mysql/ 
 +  total 24 
 +  drwxr-xr-x 3 root  root  4096 sep 27 16:31 .. 
 +  drwxr-x--- 2 mysql mysql 4096 sep 27 16:48 mysql_old 
 +  drwxr-x--- 2 mysql mysql 4096 sep 27 16:48 BaseSecrete_old 
 +  drwxr-x--- 2 mysql mysql 4096 sep 27 16:56 mysql 
 +  drwxr-x--- 2 mysql mysql 4096 sep 27 16:56 BaseSecrete 
 +  drwxr-xr-x 6 root  root  4096 sep 27 16:56 . 
 + 
 +Pour restaurer, il suffit d'arreter "mysql" et de copier l'ensemble des fichiers d'une base (d'un répertoire) dans **''/var/lib/mysql''** 
 + 
 + 
 +===== Exporter ===== 
 + 
 +Lien: 
 +  * http://mysql.developpez.com/faq/?page=ADMIN_MIGRATION#ADMIN_MIGRATION_export_fichier 
 + 
 +==== A partir d'un shell ==== 
 +  $ mysql -u <user> <database> -e "SELECT * FROM <table>" >fichier.txt 
 + 
 +===== Tips ===== 
 +==== root password recovery ==== 
 +Lien: http://www.tinybox.net/astuces/mysqld-root-recovery 
 + 
 +Perte de mot de passe root: http://www.korben.info/changer-mot-de-passe-root-mysql.html 
 + 
 +Mais aussi: http://www.admin-linux.fr/?p=2911 
 + 
 +==== crash ==== 
 + 
 +Lien: 
 +    * MySQL Tips: Table marked as crashed and should be repaired 
 + 
 +  # mysqldump -u root -p wz >wz.sql 
 +  mysqldump: Got error: 144: Table './wz/Catalg' is marked as crashed and last (automatic?) repair failed when using LOCK TABLES 
 + 
 +  mysql> use wz; 
 +  mysql> REPAIR TABLE Catalg; 
 +  +-----------+--------+----------+-------------------------------------------+ 
 +  | Table     | Op     | Msg_type | Msg_text                                  | 
 +  +-----------+--------+----------+-------------------------------------------+ 
 +  | wz.Catalg | repair | warning  | Number of rows changed from 0 to 12924086 | 
 +  | wz.Catalg | repair | status   | OK                                        | 
 +  +-----------+--------+----------+-------------------------------------------+ 
 +  2 rows in set (2 min 44.91 sec) 
serveur_mysql.1175364907.txt.gz · Dernière modification : 2007/03/31 18:15 de thierry