Menyelesaikan masalah keistimewaan pengguna replikasi mysql
Isu replikasi master-hamba MySQL biasanya disebabkan oleh konfigurasi hak pengguna replikasi yang tidak betul. 1. Pastikan pengguna replika mempunyai kebenaran hamba replikasi, yang boleh diperiksa melalui geran pertunjukan dan ditambah dengan arahan geran; 2. Elakkan kebenaran yang berlebihan dan hanya memberikan kebenaran yang diperlukan seperti hamba replikasi dan pelanggan replikasi; 3. Periksa sama ada kebenaran itu berkesan, mengesahkan bahawa tiada kesilapan ejaan, keistimewaan siram telah dilaksanakan, pengubahsuaian pangkalan data adalah betul, dan MySQL Restart dimulakan semula; 4 Jika ralat dilaporkan, "Akses Ditolak untuk Pengguna", anda harus mengesahkan ketepatan nama pengguna dan tuan rumah kata laluan, kewujudan pengguna, firewall dan sambungan port, dan secara beransur -ansur menyemak butiran untuk menyelesaikannya.
Terdapat titik kegagalan yang sama apabila terdapat masalah dengan konfigurasi kebenaran pengguna semasa replikasi master-hamba MySQL. Jika anda mendapati bahawa sambungan replikasi tidak naik, kebenaran ralat tidak mencukupi, atau perpustakaan induk tidak boleh diberi kuasa ke perpustakaan hamba dengan betul, kemungkinan ada masalah dengan tetapan kebenaran pengguna replikasi.

Mata utama berikut dapat membantu anda dengan cepat mencari dan menyelesaikan masalah tersebut.
1. Pastikan pengguna replika mempunyai kebenaran hamba replikasi
Ini adalah titik yang paling asas dan paling mudah untuk diabaikan. Di MySQL, akaun yang digunakan untuk replikasi master-hamba mesti mempunyai kebenaran REPLICATION SLAVE
, jika tidak, ia akan gagal secara langsung apabila menyambung ke perpustakaan induk dari perpustakaan hamba.

Jalankan arahan berikut untuk memeriksa:
Tunjukkan geran untuk 'replica_user'@'slave_ip';
Anda harus melihat output seperti ini:

Geran Hamba Replikasi di *. * Untuk 'replika_user'@'Slave_ip'
Sekiranya anda tidak mempunyai kebenaran ini, anda boleh menambahkannya seperti ini:
Memberikan hamba replikasi pada *. * Ke 'replica_user'@'slave_ip'; Keistimewaan siram;
NOTIS:
- Nama pengguna dan nama hos mesti dipadankan dengan tepat (contohnya,
'replica_user'@'%'
dan'replica_user'@'192.168.1.100'
berbeza) - Jika anda menggunakan Wildcard
%
, pastikan perpustakaan utama membolehkan sambungan jauh
2. Elakkan pengarang yang terlalu banyak, tetapi jangan terlepas kebenaran yang diperlukan
Sesetengah tutorial mencadangkan menggunakan GRANT ALL
untuk memberi kuasa kepada pengguna salinan secara langsung. Walaupun ini mudah, tidak disyorkan dari perspektif keselamatan. Pendekatan yang betul adalah untuk memberikan kebenaran minimum yang diperlukan.
Sebagai tambahan kepada REPLICATION SLAVE
, jika anda juga mendayakan mekanisme penukaran automatik berdasarkan lokasi fail GTID atau log, anda juga mungkin memerlukan kebenaran REPLICATION CLIENT
untuk melihat status replikasi.
Gabungan biasa adalah seperti berikut:
- Salinan Asas:
REPLICATION SLAVE
- Lihat Status Replikasi:
REPLICATION CLIENT
- Sekiranya anda ingin membaca dan menulis pemisahan atau akses kepada beberapa alat pemantauan:
SELECT
pada jadualmysql.slave_*
Jadi pernyataan kebenaran akhir mungkin:
Memberikan hamba replikasi, pelanggan replikasi pada *. * Ke 'replica_user'@'slave_ip';
3. Periksa sama ada pengguna sebenarnya berkesan
Kadang -kadang anda telah mengubah keizinan dan melaksanakan FLUSH PRIVILEGES
, tetapi anda masih tidak dapat menyambung. Pada masa ini, anda perlu mempertimbangkan:
- Adakah terdapat kesilapan typo? Contohnya, nama pengguna ditulis sebagai
replicator
dan bukannyareplica
- Adakah
FLUSH PRIVILEGES;
tidak dilaksanakan;? - Adakah pangkalan data yang betul diubah suai? Sebagai contoh, anda secara manual mengubah keizinan dalam jadual
mysql.user
, tetapi tidak menyegarkan - Adakah MySQL telah dimulakan semula? Beberapa versi lama memerlukan memulakan semula untuk memuatkan perubahan kebenaran
Jika anda mengesyaki isu-isu caching kebenaran, anda boleh cuba memulakan semula perkhidmatan MySQL, tetapi ini bukan penyelesaian jangka panjang.
4. Apa yang perlu saya lakukan jika mesej ralat meminta "akses ditolak untuk pengguna"?
Apabila menghadapi kesilapan sedemikian, biasanya disebabkan oleh sebab -sebab berikut:
- Pengguna tidak wujud atau tuan rumah tidak sepadan
- Kata Laluan Ralat
- Kebenaran tidak diberikan dengan betul
Berikut adalah cadangan untuk menyelesaikan masalah:
- Sahkan sama ada nama pengguna, kata laluan, dan tuan rumah dalam rentetan sambungan betul
- Jalankan
SELECT User, Host FROM mysql.user;
Lihat jika pengguna wujud - Periksa sama ada
bind-address
ditetapkan atau firewall mengehadkan sambungan - Gunakan
telnet master_ip 3306
untuk menguji sama ada pelabuhan boleh dicapai
Pada dasarnya ini adalah tempat -tempat di mana anda terdedah untuk menginjak -injak pada perangkap. Tetapan kebenaran itu sendiri tidak rumit, tetapi mereka terdedah kepada kegagalan replikasi kerana kecuaian butiran. Selagi anda menyemak langkah demi langkah mengikut mata di atas, kebanyakan masalah dapat diselesaikan.
Atas ialah kandungan terperinci Menyelesaikan masalah keistimewaan pengguna replikasi mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mengapa saya memerlukan penyulitan SSL/TLS MySQL Connection? Kerana sambungan yang tidak disulitkan boleh menyebabkan data sensitif dipintas, membolehkan SSL/TLS dapat menghalang serangan manusia-dalam-pertengahan dan memenuhi keperluan pematuhan; 2. Bagaimana untuk mengkonfigurasi SSL/TLS untuk MySQL? Anda perlu menjana sijil dan kunci peribadi, mengubah suai fail konfigurasi untuk menentukan laluan SSL-CA, SSL-CERT dan SSL dan memulakan semula perkhidmatan; 3. Bagaimana untuk memaksa SSL apabila pelanggan menghubungkan? Dilaksanakan dengan menyatakan keperluan atau keperluan yang diperlukan semasa membuat pengguna; 4. Butiran yang mudah diabaikan dalam konfigurasi SSL termasuk kebenaran laluan sijil, isu tamat sijil, dan keperluan konfigurasi pelanggan.

Terdapat tiga cara untuk menyambungkan Excel ke pangkalan data MySQL: 1. Gunakan PowerQuery: Selepas memasang pemacu MySQLODBC, menubuhkan sambungan dan mengimport data melalui fungsi PowerQuery terbina dalam Excel, dan menyokong penyegaran semula; 2. Gunakan plug-in mysqlforexcel: Plug-in rasmi menyediakan antara muka yang mesra, menyokong penyegerakan dua hala dan mengimport jadual kembali ke MySQL, dan perhatikan keserasian versi; 3. Gunakan pengaturcaraan VBA ADO: Sesuai untuk pengguna lanjutan, dan mencapai sambungan dan pertanyaan yang fleksibel dengan menulis kod makro. Pilih kaedah yang sesuai mengikut keperluan dan tahap teknikal anda. PowerQuery atau MySqlForexcel disyorkan untuk kegunaan harian, dan VBA lebih baik untuk pemprosesan automatik.

Untuk mencapai automasi penempatan MySQL, kunci adalah menggunakan Terraform untuk menentukan sumber, konfigurasi pengurusan ansible, Git untuk kawalan versi, dan mengukuhkan pengurusan keselamatan dan kebenaran. 1. Gunakan Terraform untuk menentukan contoh MySQL, seperti versi, jenis, kawalan akses dan atribut sumber lain AWSRDS; 2. Gunakan AnsiblePlayBook untuk merealisasikan konfigurasi terperinci seperti penciptaan pengguna pangkalan data, tetapan kebenaran, dan lain -lain; 3. Semua fail konfigurasi dimasukkan dalam pengurusan Git, pengesanan perubahan sokongan dan pembangunan kolaboratif; 4. Elakkan maklumat sensitif keras, gunakan Vault atau Ansiblevault untuk menguruskan kata laluan, dan tetapkan kawalan akses dan prinsip kebenaran minimum.

Untuk mengitar semula kebenaran pengguna MySQL menggunakan Revoke, anda perlu menentukan jenis kebenaran, pangkalan data, dan pengguna mengikut format. 1. Gunakan RevokeallPrivileges, GrantOptionFrom'username '@' HostName '; 2. Gunakan RevokeAllPrivileSonMydb.From'username'@'hostname '; 3. Gunakan RevokeAllPrivileGeSonMydb.From'username'@'hostname '; 3. Gunakan REVOKE TYPE ON.*PROM'USERNAME'@'HOSTNAME '; Perhatikan bahawa selepas pelaksanaan, disyorkan untuk menyegarkan keizinan. Skop keizinan mestilah selaras dengan masa kebenaran, dan keizinan yang tidak wujud tidak dapat dikitar semula.

Kaedah yang melaksanakan fungsi jadual pivot Excel yang serupa dengan MySQL terutamanya termasuk menggunakan kes atau jika pernyataan untuk menggabungkan fungsi agregat untuk penukaran baris. 1. Gunakan Casewhen untuk merealisasikan penukaran baris ke lajur statik, yang sesuai untuk situasi di mana nilai lajur diketahui ditukar. Lajur baru dijana untuk nilai yang berbeza dan data diringkaskan melalui jumlah (Casewhen ...). 2. Menjana lajur secara dinamik, sesuai untuk situasi di mana nilai -nilai tertentu tidak pasti. Anda perlu mendapatkan nilai yang unik sebelum membina ungkapan kes. Biasanya, ia digabungkan dengan prosedur tersimpan atau logik lapisan aplikasi untuk menyambungkan dan melaksanakan rentetan SQL; 3. Gunakan jika fungsi untuk memudahkan sintaks untuk mencapai kesan yang sama seperti kes tetapi kaedah penulisan lebih padat. Dalam aplikasi sebenar, jika dimensi ditetapkan, lajur boleh dikodkan secara langsung. Jika dimensi berubah dengan kerap, disyorkan untuk menggunakan skrip atau menyimpannya.

UsemysqliseauditpluginiPriseSpriseSpRingIponFigurationPonfigurationPonviSventSonPonfigurationShigurationShigurationShigurationShigurationShigurationWithServer-Audit = forcews_Plus_permanentAntoMizeSviSviSviAserver_events;

Masalah replikasi master-hamba MySQL adalah perkara biasa yang berkaitan, ketidakkonsistenan data, kesilapan GTID atau binlog, dan kelewatan replikasi. 1. Periksa sama ada sambungan master-hamba adalah normal, pastikan sambungan rangkaian, pasangan kebenaran, dan kata laluan akaun betul; 2. Selesaikan kegagalan replikasi yang disebabkan oleh ketidakkonsistenan dalam data, periksa log ralat, melangkau kesilapan jika perlu dan gunakan alat untuk mengesahkan konsistensi; 3. Mengendalikan isu GTID atau binlog, pastikan perpustakaan induk tidak membersihkan log transaksi yang diperlukan, dan dengan betul mengkonfigurasi mod GTID; 4. Mengoptimumkan kelewatan replikasi, meningkatkan prestasi perpustakaan hamba, membolehkan replikasi selari, dan mengurangkan beban perpustakaan hamba. Apabila menghadapi masalah, anda harus mengutamakan melihat output showlavestatus dan menganalisis punca punca lokasi log.

MySQL perlu dioptimumkan untuk sistem kewangan: 1. Data kewangan mesti digunakan untuk memastikan ketepatan menggunakan jenis perpuluhan, dan DateTime digunakan dalam bidang masa untuk mengelakkan masalah zon waktu; 2. Reka bentuk indeks harus munasabah, mengelakkan kemas kini medan yang kerap untuk membina indeks, menggabungkan indeks dalam urutan pertanyaan dan indeks yang tidak berguna secara berkala; 3. Gunakan urus niaga untuk memastikan konsistensi, mengawal granulariti transaksi, elakkan urus niaga yang panjang dan operasi bukan teras yang tertanam di dalamnya, dan pilih tahap pengasingan yang sesuai berdasarkan perniagaan; 4. Partition Data Sejarah mengikut Masa, Arkib Data Sejuk dan Gunakan Jadual Mampat untuk meningkatkan kecekapan pertanyaan dan mengoptimumkan penyimpanan.
