Penyelesaian ralat Mysql 113: 1. Matikan tembok api mesin jauh, atau benarkan nombor port 3306 dalam tembok api 2. Tetapkan pangkalan data untuk membenarkan capaian jauh, melalui pernyataan "grant privilegesCode on dbName .tableName kepada nama pengguna@hos yang dikenal pasti melalui "kata laluan";" Hanya membenarkan hos yang sepadan.
Persekitaran pengendalian tutorial ini: sistem centos7, versi MySQL5.7, komputer Dell G3.
Bagaimana untuk menyelesaikan ralat mysql 113?
113 Ralat mysql_mysql menambah, membenarkan, memadam pengguna dan menyambung ke pangkalan data Tidak dapat menyambung ke pelayan MySQL pada '192.168.31.106' (113) Penyelesaian masalah ralat...
centos7 di bawah Kendalikan mysql untuk menambah, membenarkan dan memadam pengguna
Tambah pengguna
Log masuk ke pangkalan data sebagai pengguna akar dan jalankan arahan berikut:
create user test identified by '123456789';
Pengguna ujian telah dibuat di atas, kata laluan ialah 123456789 . Kita boleh melihat maklumat pengguna yang baru ditambah dalam jadual mysql.user
+------+----------------+-------------------------------------------+ | user | host | password | +------+----------------+-------------------------------------------+ | test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D | +------+----------------+-------------------------------------------+
Keizinan
Format arahan: beri keistimewaanKod pada dbName.tableName kepada nama pengguna@host yang dikenal pasti melalui "kata laluan"
MariaDB [test]> grant all privileges on test.* to 'test'@'%' identified by '123456789'; Query OK,0 rows affected (0.00sec) MariaDB [test]>flush privileges; Query OK,0 rows affected (0.00 sec)
Pernyataan di atas memberikan semua kebenaran operasi jadual ujian kepada ujian pengguna, dan kata laluan ialah 123456789. Begitu juga, kami juga boleh menggunakan show untuk melihat maklumat mysql.user
select user,host,password, Select_priv,Insert_priv, Update_priv ,Delete_priv from user where user='test';+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+ | user | host | password | Select_priv | Insert_priv | Update_priv | Delete_priv | +------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+ | test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D | Y | Y | Y | Y | +------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+ 1 rows in set (0.00 sec)
Perintah pemberian menyemak maklumat kebenaran yang dibenarkan
show grants for 'test';+--------------------------------------------------------------------------------------------------------------+ | Grants for test@% | +--------------------------------------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D' | | GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'%' | +--------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
privilegesCode menunjukkan jenis kebenaran yang diberikan Jenis berikut biasanya digunakan [1]:
semua keistimewaan: semua keistimewaan.
pilih: kebenaran baca.
padam: padam kebenaran.
kemas kini: Kemas kini kebenaran.
buat: Cipta kebenaran.
jatuhkan: Padam pangkalan data dan kebenaran jadual data.
dbName.tableName menunjukkan pustaka atau jadual tertentu yang mana kebenaran diberikan Pilihan berikut biasanya digunakan:
.: Berikan kebenaran kepada semua pangkalan data pelayan pangkalan data ini.
dbName.*: Berikan kebenaran kepada semua jadual dalam pangkalan data dbName.
dbName.dbTable: Berikan kebenaran kepada jadual dbTable dalam pangkalan data dbName.
nama pengguna@host mewakili pengguna yang diberikan dan alamat IP yang pengguna dibenarkan untuk log masuk. Hos mempunyai jenis berikut:
localhost: Pengguna hanya dibenarkan log masuk secara setempat, bukan dari jauh.
%: Membenarkan log masuk jauh dari mana-mana mesin kecuali mesin ini.
192.168.52.32: IP khusus bermakna pengguna hanya dibenarkan log masuk daripada IP tertentu.
kata laluan menentukan halaman log masuk pengguna.
keistimewaan flush bermaksud menyegarkan perubahan kebenaran.
Tukar kata laluan
update mysql.user set password = password('123') where user = 'test' and host = '%'; flush privileges;
Padam pengguna
drop user test@'%';
Arahan drop user akan memadamkan pengguna dan kebenaran yang sepadan Selepas melaksanakan arahan, anda akan mendapatinya jadual mysql.user dan Rekod yang sepadan dalam jadual mysql.db telah hilang.
Ringkasan
Apabila kita menggunakan kod yang kita perlukan untuk mencipta pengguna dan memberikan kebenaran untuk mengendalikan pangkalan data, maka kita boleh menggunakan arahan:
grant privilegesCode on dbName.tableName to username@host identified by "password";
Perlu diingatkan bahawa apabila kami mengendalikan kebenaran, kami perlu memilih hos, iaitu alamat yang membenarkan akses, seperti
localhost: hanya pengguna dibenarkan log masuk secara tempatan, bukan dari jauh.
%: Membenarkan log masuk jauh dari mana-mana mesin kecuali mesin ini.
192.168.52.32: IP khusus bermakna pengguna hanya dibenarkan log masuk daripada IP tertentu.
Pada masa yang sama, apabila semuanya sudah sedia, apabila kami mengaksesnya dari mesin lain, jika ralat berikut berlaku:
# mysql -h192.168.31.106 -utest -p; Enter password: ERROR2003 (HY000): Can't connect to MySQL server on'192.168.31.106'(113)
Menyelesaikan masalah ralat
1 , Buat pastikan firewall mesin jauh dimatikan, atau benarkan nombor port 3306 dalam firewall
2. Pastikan pangkalan data membenarkan capaian jauh, melalui kenyataan pemberian kod keistimewaan pada dbName.tableName kepada nama pengguna@hos yang dikenal pasti dengan "kata laluan"; membenarkan hos Just yang sepadan.
Pembelajaran yang disyorkan: "Tutorial Video MySQL"
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat mysql 113. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!