Mysql

Mysql

Mysql récupérer mot de pass root sous linux ou Windows

 

Voici la commande pour retrouver son mot de passe dans son environnement de développement WAMP :

Wamp possède une solution pour se connecter sous Mysqlj avec la console Mysql, aller dans click gauche puis mysql puis Console Mysql.

Ne rentrez pas de mot de passe.

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('XXX');
ou 
SET PASSWORD FOR 'root'@'%' = PASSWORD('XXX');

 

Mysql

Se logger dans MySql sans taper de mot de passe

Pour les personnes qui ont un mot de passe (un de plus trop) difficile à mémoriser (en plus de leur mot de passe root sur leur serveur Linux), la technique que je vais vous présenter (et présente dans la documentation officielle) va vous faciliter la vie.

Comment se logger dans mysql en Linux la voie classique

$ mysql -u root -pmotdepasse
ou la méthode interactive plus sécure
$ mysql -u root -p
et vous renseignez le mot de passe.

Mais voilà, comme vous êtes paresseux (et je vous recommande dans le cas présent), il y a une directive dans le fichier de configuration de mysql my.cnf, qui vous permet de vous passer de taper le mot de passe une fois que vous vous êtes authentifié sous root.

[mysqld]
.
.
[client]
password=motdepasseroot

[mysqld_safe]
.
.

Ce qui est important à faire c’est de rentrer la directive client et de renseigner le mot de passe (redémarrez mysql pour tenir compte ou reloadez le fichier my.cnf)

 

Mysql

Comment importer une base de donnée Mysql en ligne de commande

Je sais que pour beaucoup d’entre vous , la méthode préférée est PhpMyadmin pour importer des bases de données.

Mais pour ce qui est de la performance en rapidité, et lorsqu’on a affaire à une grosse base de données, cette méthode n’est pas viable, aussi il va falloir se retrousser les manches et passer en ligne de commande.

 

On parle beaucoup de sauvegarde en ligne de commande mais moins en restauration de base en ligne de commande. Rassurez vous la méthode est simple, il existe une méthode utilisant le mot clé source.

Le problème est qu’il faut se logger dans Mysql et le faire en mode interactif, donc deux étapes.

Cet article décrit une autre méthode en une étape :

mysql -u username -p database_name < file.sql

Il est préférable de donner le chemin complet vers le fichier pour éviter de potentiels problèmes.

 

https://stackoverflow.com/questions/17666249/how-to-import-an-sql-file-using-the-command-line-in-mysql

Mysql

Mysql Link to database cannot be established

si vous avez cette erreur alors que vous pensiez que tout allait bien, c’est vraisemblablement parce que Mysql a ouvert trop de fichier et n’est pas en mesure de traiter avec tout ça.

Mysql est limité à 1024 fichiers ouverts.

J’ai eu cette erreur que l’on ne voit pas très souvent, puisqu’il survient quand on a un grand nombre de sites web sur un même serveur dédié.

C’est ce qui m’est arrivé récemment lorsque j’ai combiné 3 serveur en un. J’avais 3 serveurs avec disque dur classiques, jusqu’au jour ou je me suis décidé à passer sur un serveur avec disque SSD, et plus de RAM. Pour être plus précis c’est le modèle XC SSD que j’ai pris, un octocoeur à 16 Go de Ram. Pour un prix de 15.99€ HT, soit un peu plus de 19 euros TTC (+ 20 € de frais d’installation). Au passage en résiliant deux serveur à 29 et 10 € j’économise 500 euros sur un an, une belle somme. A une époque j’avais pour presque 100 euros mensuel de serveurs, tous sous exploités, aujourd’hui comme je suis monté en compétence en gestion de serveur Linux, j’ai pris le parti de réduire mes coûts au strict minimum.

En configurant bien son serveur, on peut faire des merveilles. Cependant le chemin est semé d’embûches, la preuve pour que la base Mysql est tombée en rade avec une erreur du type :

ERROR 1018 (HY000): Can’t read dir of ‘.’ (errno: 24)

Vous pouvez voir ce que veut dire l’erreur 24 sous Linux avec la commande :

$ perror 24
OS error code  24:  Too many open files

Avec une trentaine de sites et donc de base de données, les 1024 n’allaient pas suffire !

En moins d’une heure, en cherchant sur le net, je suis arrivé à la solution suivante :

il faut affecter à mysql un plus grand nombre de fichiers ouvert. J’ai fixé pour ma part la valeur à 10240, ce qui est dix fois plus, mais vous pouvez aller jusqu’à 1024000, ce qui est souvent le cas si vous avez beaucoup de mutualisés.

Comment hausser la limite de fichiers ouvrable pour mysql

tout d’abord regardons les limites actuelle de votre système :

$ ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 64127
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 64127
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

Si vous voulez connaitre les limites pour un utilisateur particulier :

$ su mysql ulimit -a

Si ça déclenche un erreur du genre argument -a inconnu, vous devez d'abord faire un changement utilisateur
$ su mysql
$ ulimit -a

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 64127
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 64127
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Il faut éditer deux fichiers pour lever les limites.

$ vi /etc/security/limits.conf

mysql hard nofile 1024000
mysql soft nofile 1024000

$ vi /etc/security/limits.d/90-nproc.conf

* soft nofile 1024000
* hard nofile 1024000
* soft nproc 10240
* hard nproc 10240
root soft nproc unlimited


$ vi /etc/my.cnf

[mysqld]
open_files_limit = 1024000

ou

[mysqld_safe]
open_files_limit = 1024000


$ service mysqld restart

Pour vérifier :

$ show global variables like 'open%';

+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| open_files_limit | 102400 |
+------------------+--------+
1 row in set (0.00 sec)

Voilà j’espère que cela aura pu vous aider.

Voici le lien dont je me suis inspiré pour ce tuto :

Plus d’information sur le site officiel de Mysql.

https://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimithttp://i-learnings.blogspot.fr/2012/11/error-1018-hy000-cant-read-dir-of-errno.html

Retour en haut