Connexion refusé après avoir créé une nouvelle instance mysql

This commit is contained in:
emorino 2017-12-14 18:13:50 +01:00
parent 7df85164d4
commit c96a1053a0

View file

@ -492,3 +492,55 @@ mysql> SET PASSWORD FOR 'jdoe'@'localhost' = PASSWORD('PASSWORD');
~~~
> *Note* : si vous remettez le même mot de passe que celui utilisé actuellement, cela va fonctionner, il n'y a pas de vérification
## Connexion refusé après avoir créé une nouvelle instance mysql.
Faire un *ps auwx*, pour récupérer toutes les options avec laquelle tourne l'instance MySQL:
Exemple:
~~~
# ps auwx |grep mysqld2
root 34419 0.0 0.0 13720 3272 ? S Dec13 0:00 /bin/bash /usr/bin/mysqld_safe --user=mysqld2 --bind-address=0.0.0.0 --port=3308 --socket=/var/run/mysqld2/mysqld.sock --pid-file=/var/run/mysqld2/mysqld.pid --datadir=/srv/mysqld2/mysql --long_query_time=5 --slow_query_log=1 --slow_query_log_file=/var/log/mysqld2/slow.log --group_concat_max_len=10000 --max_connections=250 --back_log=100 --max_connect_errors=10 --key_buffer_size=512M --max_allowed_packet=64M --thread_stack=192K --thread_cache_size=80 --table_cache=4096 --table_open_cache=4096 --table_definition_cache=4096 --query_cache_limit=8M --query_cache_size=256M --query_cache_type=1 --max_heap_table_size=1G --tmp_table_size=1G --innodb_file_per_table --innodb_buffer_pool_size=29025M --innodb_additional_mem_pool_size=16M --innodb_thread_concurrency=16 --default-time-zone=-04:00 --tmpdir=/home/mysqld2tmp
~~~
Stoppé l'instance mysql concernée, par exemple :
~~~
# mysqld_multi stop 2
~~~
Démarré l'instance avec toutes les options du *ps auwx* et ajouter l'option *--skip-grant-tables* pour désactivé l'authentification :
~~~
/bin/bash /usr/bin/mysqld_safe --user=mysqld2 --bind-address=0.0.0.0 --port=3308 --socket=/var/run/mysqld2/mysqld.sock --pid-file=/var/run/mysqld2/mysqld.pid --datadir=/srv/mysqld2/mysql --long_query_time=5 --slow_query_log=1 --slow_query_log_file=/var/log/mysqld2/slow.log --group_concat_max_len=10000 --max_connections=250 --back_log=100 --max_connect_errors=10 --key_buffer_size=512M --max_allowed_packet=64M --thread_stack=192K --thread_cache_size=80 --table_cache=4096 --table_open_cache=4096 --table_definition_cache=4096 --query_cache_limit=8M --query_cache_size=256M --query_cache_type=1 --max_heap_table_size=1G --tmp_table_size=1G --innodb_file_per_table --innodb_buffer_pool_size=29025M --innodb_additional_mem_pool_size=16M --innodb_thread_concurrency=16 --default-time-zone=-04:00 --tmpdir=/home/mysqld2tmp --skip-grant-tables
~~~
Se connecter à l'instance, et y attribuer un mot de passe root :
~~~
MariaDB [(none)]> UPDATE user SET password=PASSWORD("VDDxUhT5HD3mbcct") WHERE User='root';
~~~
Arrêter l'instance démarrée avec l'option *--skip-grant-tables* et demarré l'instance normalement :
~~~
# kill PID_INSTANCE
# mysqld_multi start 2
~~~
Se connecter à l'instance avec l'utilisateur root, créer l'utilisateur mysqladmin et donner les bons droits :
~~~
# mysql -u root -P3308
MariaDB [(none)]> create user mysqladmin@localhost identified by 'VDDxUhT5HD3mbcct';
MariaDB [(none)]> grant all on *.* to mysqladmin@localhost identified by 'VDDxUhT5HD3mbcct';
~~~
Enfin supprimé l'utilisateur root :
~~~
MariaDB [(none)]> DELETE FROM mysql.user where User='root';
~~~