J'ai un serveur avec Rackspace. Je souhaite accéder à la base de données à partir de la ligne de commande de ma machine locale.
J'ai essayé comme:
mysql -u username -h my.application.com -ppassword
Mais cela donne une erreur:
ERREUR 2003 (HY000):
Impossible de se connecter au serveur MySQL sur «my.application.com» (10061)
Quelles sont les causes de cette erreur et comment puis-je me connecter à la base de données distante?
mysql
shell
mysql-error-2003
user1986299
la source
la source
10061
= Connexion refuséeRéponses:
Pour vous connecter directement à une console mysql distante, utilisez la commande ci-dessous:
mysql -u {username} -p'{password}' \ -h {remote server ip or name} -P {port} \ -D {DB name}
Par exemple
mysql -u root -p'root' \ -h 127.0.0.1 -P 3306 \ -D local
pas d'espace après -p comme spécifié dans la documentation
Cela vous mènera directement à la console mysql en basculant vers la base de données mentionnée.
la source
-p
intermédiaire-D
paramètreéditez mon fichier.cnf:
vi /etc/my.cnf
:sois sûr que:
bind-address=YOUR-SERVER-IP
et si vous avez la ligne:
skip-networking
assurez-vous de le commenter:
#skip-networking
n'oubliez pas de redémarrer:
/etc/init.d/mysqld restart
la source
grant all privileges on *.* to 'root'@'%' identified by 'your-password'
mettez simplement ceci sur le terminal à ubuntu:
Maintenant appuyez sur Entrée
le terminal vous demandera le mot de passe, entrez le mot de passe et vous êtes dans le serveur de base de données
la source
Essayez cette commande
mysql -uuser -hhostname -PPORT -ppassword
.J'ai fait face à une situation similaire et plus tard, lorsque le port mysql pour l'hôte a été entré avec la commande, cela a été résolu.
la source
mysql -u testuser -h 192.168.**.* -P 3306 -p password
travaillé pour moiPour Mac, utilisez la commande suivante:
mysql -u app -h hostaddress -P port -D dbname -p
puis entrez le mot de passe lorsque vous y êtes invité.
la source
Si vous ne voulez pas utiliser le tunnel ssh, dans my.cnf ou mysqld.cnf, vous devez changer 127.0.0.1 avec votre adresse IP locale ( 192.168.1.100 ) afin d'avoir accès sur le LAN. exemple ci-dessous:
Recherchez l' adresse de liaison dans my.cnf ou mysqld.cnf
bind-address = 127.0.0.1
et remplacez 127.0.0.1 par 192.168.1.100 (adresse IP locale)
bind-address = 192.168.1.100
Pour appliquer le changement que vous avez effectué, vous devez redémarrer le serveur mysql en utilisant la commande suivante.
sudo /etc/init.d/mysql restart
Modifiez la racine de l' utilisateur pour l'accès au réseau local (exécutez la requête ci-dessous sur le serveur distant auquel vous souhaitez avoir accès)
root@192.168.1.100:~$ mysql -u root -p
..
CREATE USER 'root'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Si vous souhaitez avoir accès uniquement à partir d'une adresse IP spécifique, remplacez "root" @ "%" par "root" @ "(adresse IP ou nom d'hôte)"
CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION; FLUSH PRIVILEGES;
Ensuite, vous pouvez vous connecter:
nobus@xray:~$ mysql -h 192.168.1.100 -u root -p
testé sur le serveur ubuntu 18.04
la source
essayez
telnet 3306
. S'il n'ouvre pas la connexion, soit il existe un paramètre de pare-feu, soit le serveur n'écoute pas (ou ne fonctionne pas).exécuter
netstat -an
sur le serveur pour voir si le serveur est en place.Il est possible que vous n'autorisiez pas les connexions à distance.
Voir http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
la source
Je suppose que MySQL est installé sur votre machine. Exécutez la commande ci-dessous après avoir rempli les détails manquants:
la source
Doit vérifier si l'accès entrant au port 3306 est bloqué ou non par le pare-feu.
la source
Les serveurs mysql sont généralement configurés pour n'écouter que localhost (127.0.0.1), où ils sont utilisés par les applications Web.
Si tel est votre cas mais que vous avez un accès SSH à votre serveur, vous pouvez créer un tunnel ssh et vous connecter via celui-ci.
Sur votre ordinateur local, créez le tunnel.
ssh -L 3307:127.0.0.1:3306 -N $user@$remote_host
(cet exemple utilise le port local 3307, au cas où vous auriez également mysql en cours d'exécution sur votre machine locale et en utilisant le port standard 3306)
Maintenant, vous devriez être ale pour vous connecter avec
mysql -u $user -p -h 127.0.0.1 -P 3307
la source
-i $identity_file
à la commande ssh si vous avez des clés différentes.Il y a une commande simple.
Exemple
mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb
la source
cette solution a fonctionné pour moi:
Sur votre machine distante (exemple: 295.13.12.53) a accès à votre machine distante cible (qui exécute le serveur mysql)
ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 user@295.13.12.53
Expliqué:
ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port user@your_ip_address -N
your_ssh_mashine_ipaddress - ce n'est pas une adresse IP locale, c'est une adresse IP à laquelle vous ssh, dans cet exemple 295.13.12.53
your_ssh_mashine_local_port -c'est le port personnalisé et non le 22, dans cet exemple, il s'agit du 3306.
target_ipaddress - adresse IP de la machine sur laquelle vous essayez de vider la base de données.
target_port - 3306 c'est le vrai port pour le serveur MySQL.
user @ your_ip_address - il s'agit des informations d'identification ssh pour le mashine ssh que vous connectez
Une fois tout cela fait, retournez sur votre machine et procédez comme suit:
mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql
Va demander le mot de passe, mettez votre mot de passe et vous êtes connecté. J'espère que cela t'aides.
la source
Essayez ceci, cela fonctionne:
mysql -h {nom d'hôte} -u {nom d'utilisateur} -p {mot de passe} -N -e "{requête à exécuter}"
la source
Celui-ci a fonctionné pour moi dans mysql 8, remplacez
hostname
par votre nom d'hôte etport_number
par votre numéro de port, vous pouvez également changer votre mysql_user s'il n'est pas rootmysql --host=host_name --port=port_number -u root -p
Plus d'informations ici
la source
Vous devriez mettre votre mot de passe avec 'p'
mysql -u root -u 1.1.1.1 -p'MyPass'
la source
J'obtenais trop la même erreur. Mais je l'ai trouvé utile en créant un nouvel utilisateur mysql sur un serveur mysql distant, puis connectez-vous. Exécutez la commande suivante sur le serveur distant:
CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT OPTION; CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass'; GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Vous pouvez maintenant vous connecter avec mysql distant avec la commande suivante.
Voici le post complet:
http://openvani.com/blog/connect-remotely-mysql-server/
la source
Si vous êtes sous Windows, essayez Visual Studio Code avec des plugins MySQL, un moyen simple et intégré d'accéder aux données MySQL sur une machine Windows. Et les tables de base de données répertoriées et peuvent exécuter toutes les requêtes personnalisées.
la source