Kaedah hos pengubahsuaian mysql: 1. Hentikan perkhidmatan mysql melalui "sudo service mysql stop" 2. Mulakan mysql dalam mod selamat, dan kemudian tetapkan semula kata laluan root 3. Melalui "kemas kini set pengguna Host='; %' where User='hive';" pernyataan boleh digunakan untuk mengubah suai hos.
Persekitaran pengendalian tutorial ini: sistem Windows 10, MySQL versi 5.7, komputer Dell G3.
Bagaimana untuk mengubah suai hos dalam mysql?
Ubah suai atribut hos pengguna MySQL dengan cepat:
Apabila anda log masuk ke MySQL dari jauh, akaun yang anda gunakan mesti mempunyai keperluan khas.
Atribut hos lalai akaun ialah localhost, yang bermaksud bahawa akaun ini hanya boleh digunakan secara setempat Jika anda ingin menggunakan akaun untuk log masuk dari jauh, anda mesti menukar nilai atribut hos akaun tersebut %.
Pernyataan sql yang dilaksanakan adalah seperti berikut:
update user set host = '%' where user = 'root';
Tambahan: mysql menukar kata laluan root, menukar akaun, log masuk ke hos
Pelayan jauh mempunyai perkhidmatan mysql, yang mempunyai akaun sarang Anda boleh log masuk ke pelayan jauh melalui baris arahan menggunakan mysql -hlocalhost -uxxx -. pxxx, tetapi menggunakan klien navicat, saya tidak boleh log masuk, dan navicat masih memaparkan alamat IP mesin saya sendiri.
Kecurigaan awal ialah kata laluan akaun A dalam mysql tidak ditetapkan dengan betul. Jadi anda perlu menggunakan akaun root untuk menetapkan semula akaun sarang.
Caranya, mysql bukan saya yang cipta. Dan dalam persekitaran ujian, saya tidak tahu siapa yang hendak meminta kata laluan. Kemudian gunakan senjata muktamad: tukar kata laluan root.
Perkara pertama yang perlu diberi perhatian: akaun root mysql dan akaun root pelayan bukanlah konsep yang sama, jadi jangan mengelirukan mereka.
Pertama, hentikan perkhidmatan mysql:
sudo service mysql stop
Jika anda mempunyai akaun root pelayan, sudo tidak diperlukan operasi. Perintah di atas berfungsi pada Ubuntu dan Debian. Gunakan mysqld untuk menggantikan mysql di bawah CentOS, Fedora dan RHEL. Perkara yang sama berlaku untuk semua operasi di bawah.
Kemudian, mulakan mysql dalam mod selamat:
sudo mysqld_safe --skip-grant-tables --skip-networking &
Dengan cara ini kita boleh log masuk terus dengan root tanpa kata laluan:
mysql -u root
Dengan cara ini, kami log masuk ke mysql dengan akaun root.
Kemudian, anda boleh menetapkan semula kata laluan root:
mysql> use mysql; mysql> update user set password=PASSWORD("mynewpassword") where User='root'; mysql> flush privileges;
Selepas penetapan semula selesai, keluar dari mysql. Kemudian mulakan perkhidmatan mysql:
sudo service mysql restart
Seterusnya, log masuk dengan akaun root:
mysql -u root -pmynewpassword
Selepas log masuk ke mysql dengan akaun root, seterusnya lihat maklumat akaun A yang berkaitan:
mysql> use mysql; Database changed mysql> select User, Host from user where User='hive'; +------+--------------+ | User | Host | +------+--------------+ | hive | 127.0.0.1 | +------+--------------+
Anda akan memahaminya sekarang. Tidak hairanlah pelanggan navicat tidak boleh log masuk. Hos akaun sarang hanya 127.0.0.1, jadi secara semulajadi anda hanya boleh log masuk pada mesin ini.
mysql> update user set Host='%' where User='hive';
Tetapkan akaun sarang supaya semua mesin boleh log masuk, dan kemudian muat semula kebenaran:
mysql> flush privileges;
Semak semula Letak:
mysql> select User, Host from user where User='hive'; +------+------+ | User | Host | +------+------+ | hive | % | +------+------+
Itu sahaja, anda sudah selesai!
Perkara di atas adalah pengalaman peribadi, semoga dapat memberi rujukan kepada semua. Jika terdapat sebarang kesilapan atau pertimbangan yang tidak lengkap, sila maklumkan kepada saya.
Pembelajaran yang disyorkan: "Tutorial Video MySQL"
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai hos dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!