Penyelesaian: 1. Log masuk ke bekas mysql, dan kemudian masukkan mysql Sintaksnya ialah "docker exec -it mysql /bin/bash..." 2. Gunakan "alter user 'root'@. '%' dikenal pasti dengan mysql_native_password oleh '...';" Tukar kata laluan log masuk; 3. Gunakan navicat untuk menyambung ke mysql dari jauh.
Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.
#mysql pemasangan docker
docker pull mysql docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
Pada masa ini, apabila navicat menyambung ke mysql dari jauh, ralat berikut akan digesa:
Penyelesaian:
1 bekas mysql dalam mesin maya, Kemudian masukkan mysql
docker exec -it mysql /bin/bash mysql -uroot -p Enter password: mysql> select host,user,plugin,authentication_string from mysql.user;
Nota: hos ialah %, yang bermaksud tiada sekatan pada ip yang digunakan oleh mesin ini pemalam selain mysql_native_password, jadi anda perlu menukar kata laluan
2 Tukar kata laluan
mysql> use mysql; mysql> alter user 'root'@'%' identified with mysql_native_password by '123'; mysql> flush privileges; mysql> select host,user,plugin,authentication_string from mysql.user;
3. Apabila gambar di atas muncul, gunakan navicat untuk menyambung semula ke mysql dari jauh dan kejayaan dicapai.
Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika mysql dipasang dengan docker tidak boleh diakses dari jauh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!