Ndụmọdụ bara uru iji dozie mperi a na-ahụkarị na MySQL
MySQL bụ sistemụ njikwa nchekwa data nke mepere emepe (RDMS) nke Oracle nwere. Ọ kemgbe ọtụtụ afọ bụ nhọrọ ndabara maka ngwa dabere na webụ ma ka na-ewu ewu ma e jiri ya tụnyere igwe nchekwa data ndị ọzọ.
Emebere MySQL na kachasị maka ngwa weebụ - ọ bụ akụkụ dị mkpa nke ngwa webụsaịtị dị ka Facebook, Twitter, Wikipedia, YouTube, na ọtụtụ ndị ọzọ.
Ọ bụ MySQL kwadoro saịtị ma ọ bụ ngwa weebụ gị? N'ime akụkọ a zuru ezu, anyị ga-akọwa otu esi edozi nsogbu na njehie nkịtị na MySQL nchekwa data nkesa. Anyị ga-akọwa otu esi achọpụta ihe kpatara nsogbu na ihe a ga-eme iji dozie ha.
1. Enweghị ike ijikọ na mpaghara MySQL Server
Otu n'ime njehie njikọ nkesa na MySQL bụ \ERROR 2002 (HY000): Enweghị ike ijikọ na sava MySQL mpaghara site na oghere '/var/run/mysqld/mysqld.sock' (2).
Njehie a na-egosi na ọ nweghị ihe nkesa MySQL (mysqld)
na-agba ọsọ na sistemụ nnabata ma ọ bụ na ị kọwapụtala aha faịlụ Unix socket na-ezighi ezi ma ọ bụ ọdụ ụgbọ mmiri TCP/IP mgbe ị na-agbalị ijikọ na sava ahụ.
Gbaa mbọ hụ na ihe nkesa na-agba ọsọ site na ịlele usoro aha ya bụ mysqld
na nchekwa data sava gị na-eji iwu grep ọnụ dị ka egosiri.
$ ps xa | grep mysqld | grep -v mysqld
Ọ bụrụ na iwu ndị a dị n'elu egosighi mmepụta, mgbe ahụ, ihe nkesa nchekwa data anaghị arụ ọrụ. Ya mere onye ahịa enweghị ike ijikọ ya. Iji malite ihe nkesa, mee iwu systemctl na-esonụ.
$ sudo systemctl start mysql #Debian/Ubuntu $ sudo systemctl start mysqld #RHEL/CentOS/Fedora
Iji nyochaa ọkwa ọrụ MySQL, jiri iwu na-esonụ.
$ sudo systemctl status mysql #Debian/Ubuntu $ sudo systemctl status mysqld #RHEL/CentOS/Fedora
Site na mmepụta nke iwu dị n'elu, ọrụ MySQL adaala. N'ọnọdụ dị otú ahụ, ị nwere ike ịnwa ịmalitegharị ya wee lelee ọkwa ya ọzọ.
$ sudo systemctl restart mysql $ sudo systemctl status mysql
Na mgbakwunye, ọ bụrụ na ihe nkesa na-agba ọsọ dị ka e gosipụtara site na iwu na-esonụ, ma ị ka na-ahụ njehie dị n'elu, ị ga-enyochakwa na a na-egbochi TCP/IP ọdụ ụgbọ mmiri site na firewall ma ọ bụ ọrụ mgbochi ọdụ ụgbọ mmiri ọ bụla.
$ ps xa | grep mysqld | grep -v mysqld
Iji iwu netstat dị ka egosiri.
$ sudo netstat -tlpn | grep "mysql"
2. Enweghị ike ijikọ na MySQL Server
Njehie njikọ ọzọ a na-ezutekarị bụ \(2003) Enweghị ike ijikọ na ihe nkesa MySQL na 'sava' (10061), nke pụtara na ajụla njikọ netwọkụ.
N'ebe a, malite site na ịlele na e nwere ihe nkesa MySQL na-agba ọsọ na usoro dị ka egosiri n'elu. Hụkwa na ihe nkesa ahụ nwere njikọ netwọk na-enyere aka yana na ọdụ ụgbọ mmiri ị na-eji jikọọ bụ nke ahaziri na sava ahụ.
Njehie ndị ọzọ a na-ahụkarị ị ga-ezute mgbe ị na-agbalị ijikọ na sava MySQL bụ:
ERROR 2003: Can't connect to MySQL server on 'host_name' (111) ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)
Njehie ndị a na-egosi na ihe nkesa nwere ike na-agba ọsọ, Otú ọ dị, ị na-agbalị ijikọ site na iji ọdụ ụgbọ mmiri TCP/IP, nke aha ya bụ ọkpọkọ, ma ọ bụ faịlụ Unix dị iche na nke ihe nkesa na-ege ntị.
3. Nweta njehie jụrụ na MySQL
Na MySQL, a kọwapụtara akaụntụ onye ọrụ n'usoro aha njirimara yana onye ahịa ma ọ bụ ndị ọbịa nke onye ọrụ nwere ike jikọọ na sava ahụ. Na mgbakwunye, akaụntụ nwekwara ike ịnwe nzere nyocha dị ka paswọọdụ.
Ọ bụ ezie na e nwere ọtụtụ ihe dị iche iche na-akpata njehie \Nnweta agọnarị, otu n'ime ihe ndị a na-emekarị bụ gbasara akaụntụ MySQL nke ihe nkesa na-enye ohere ka mmemme ndị ahịa jiri mgbe ejikọtara ya. Ọ na-egosi na aha njirimara akọwapụtara na njikọ ahụ enweghị ohere ịnweta. nchekwa data.
MySQL na-enye ohere ịmepụta akaụntụ nke na-enyere ndị ọrụ ahịa aka jikọọ na ihe nkesa na ịnweta data nke ihe nkesa na-achịkwa. N'akụkụ a, ọ bụrụ na ị zutere njehie anabataghị ohere, lelee ma ọ bụrụ na ekwe ka akaụntụ onye ọrụ jikọọ na ihe nkesa site na mmemme ndị ahịa ị na-eji, yana ikekwe onye ọbịa nke njikọ ahụ sitere.
Ị nwere ike ịhụ ihe ùgwù akaụntụ nyere site n'ịgba iwu GOAKWỤKWỌ KWESỊRỊ
dị ka egosiri.
> SHOW GRANTS FOR 'tecmint'@'localhost';
Ị nwere ike inye otu onye ọrụ ohere na nchekwa data akọwapụtara na adreesị IP dịpụrụ adịpụ site na iji iwu ndị a na shei MySQL.
> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100'; > flush privileges;
Ọzọkwa, ohere anabataghị njehie nwekwara ike ịpụta site na nsogbu ijikọ na MySQL, rụtụ aka na mperi akọwara mbụ.
4. Echefuola Njikọ na MySQL Server
Ị nwere ike izute njehie a n'ihi otu n'ime ihe ndị a: njikọta netwọk adịghị mma, oge njikọ ma ọ bụ nsogbu nwere ụkpụrụ BLOB nke buru ibu karịa max_allowed_packet. N'ọnọdụ nsogbu njikọ netwọkụ, hụ na ị nwere njikọ netwọkụ dị mma karịsịa ma ọ bụrụ na ị na-enweta ihe nkesa nchekwa data dịpụrụ adịpụ.
Ọ bụrụ na ọ bụ nsogbu nkwụsị oge njikọ, karịsịa mgbe MySQL na-agbalị iji njikọ mbụ na ihe nkesa ahụ, welie uru nke paramita connect_timeout. Mana ọ bụrụ na ụkpụrụ BLOB buru ibu karịa max_allowed_packet, ịkwesịrị ịtọ uru dị elu maka max_allowed_packet na faịlụ nhazi /etc/my.cnf gị n'okpuru [mysqld]
ma ọ bụ [onye ahịa]
ngalaba dị ka egosiri.
[mysqld] connect_timeout=100 max_allowed_packet=500M
Ọ bụrụ na faịlụ nhazi MySQL enweghị ike ịnweta gị, mgbe ahụ ị nwere ike ịtọ uru a site na iji iwu na-esonụ na shei MySQL.
> SET GLOBAL connect_timeout=100; > SET GLOBAL max_allowed_packet=524288000;
5. Ọtụtụ MySQL Njikọ
Ọ bụrụ na onye ahịa MySQL ezute njehie\ọtụtụ njikọ , ọ pụtara na njikọ niile dị na ndị ahịa ndị ọzọ na-eji ya. Ọnụ ọgụgụ njikọ (ndabara bụ 151) bụ usoro max_connections
na-achịkwa. mgbanwe; ị nwere ike dozie nsogbu ahụ site n'ịbawanye uru ya iji nyekwuo njikọ na faịlụ nhazi /etc/my.cnf gị.
[mysqld] max_connections=1000
6. Ọ bụ ebe nchekwa MySQL
Ọ bụrụ na ị na-eji mmemme onye ahịa MySQL na-agba ajụjụ wee zute njehie a na-ajụ, ọ pụtara na MySQL enweghị ebe nchekwa zuru ezu iji chekwaa nsonaazụ ajụjụ niile.
Nzọụkwụ mbụ bụ ịhụ na ajụjụ ahụ ziri ezi, ọ bụrụ na ọ dị, mee ihe ndị a:
- ọ bụrụ na ị na-eji MySQL ahịa ozugbo, malite ya na
- ngwa ngwa
, iji gbanyụọ nsonaazụ echekwara ma ọ bụ - ọ bụrụ na ị na-eji ọkwọ ụgbọala MyODBC, interface njirimara nhazi (UI) nwere taabụ dị elu maka ọkọlọtọ. Lelee Edola nsonaazụ cache.
Ngwá ọrụ ọzọ dị mma bụ, MySQL Tuner - edemede bara uru nke ga-ejikọta na ihe nkesa MySQL na-agba ọsọ ma na-enye aro maka otu esi ahazi ya maka ịrụ ọrụ dị elu.
$ sudo apt-get install mysqltuner #Debian/Ubuntu $ sudo yum install mysqltuner #RHEL/CentOS/Fedora $ mysqltuner
Maka ntụzịaka nkwalite MySQL na ntụzịaka ịrụ ọrụ, gụọ akụkọ anyị: 15 bara uru MySQL/MariaDB Ntụle Nrụpụta na Ntụziaka.
7. MySQL nọgidere na-akụda
Ọ bụrụ na ị zutere nsogbu a, ị kwesịrị ịgbalị ịchọpụta ma nsogbu ahụ bụ na ihe nkesa MySQL anwụọ ma ọ bụ ma onye ahịa ya nwere nsogbu. Rịba ama na ọtụtụ mkpọka nkesa na-ebute site na faịlụ data mebiri emebi ma ọ bụ faịlụ ndeksi.
Ị nwere ike ịlele ọkwa nkesa iji guzobe ogologo oge ọ na-arụ ọrụ.
$ sudo systemctl status mysql #Debian/Ubuntu $ sudo systemctl status mysqld #RHEL/CentOS/Fedora
N'aka nke ọzọ, mee iwu mysqladmin a ka ịchọta oge nkesa MySQL.
$ sudo mysqladmin version -p
Ngwọta ndị ọzọ na-agụnye mana ọnweghị oke na ịkwụsị ihe nkesa MySQL na ime ka nbipu, wee malite ọrụ ahụ ọzọ. Ị nwere ike ịnwa ịme ikpe nlele nke enwere ike iji megharịa nsogbu ahụ. Na mgbakwunye, mepee windo ọnụ ọzọ wee mee iwu na-esonụ iji gosipụta ọnụ ọgụgụ usoro MySQL mgbe ị na-agba ajụjụ gị ndị ọzọ:
$ sudo mysqladmin -i 5 status OR $ sudo mysqladmin -i 5 -r status
Ọ bụ ezie na anyị leba anya n'ụfọdụ nsogbu na njehie MySQL ma nyekwa ụzọ isi dozie nsogbu na dozie ha, ihe kacha mkpa na ịchọpụta njehie bụ ịghọta ihe ọ pụtara (n'ihe gbasara ihe na-akpata ya).
Yabụ kedu ka ị ga-esi chọpụta nke a? Isi ihe ndị a ga-eduzi gị otu esi amata ihe na-ebute nsogbu:
- Nzọụkwụ mbụ na nke kachasị mkpa bụ ileba anya na ndekọ MySQL nke echekwara na ndekọ
/var/log/mysql/
. Ị nwere ike iji ngwa ahịrị iwu dị ka ọdụ ka ịgụọ site na faịlụ ndekọ. - Ọ bụrụ na ọrụ MySQL amaliteghị, lelee ọkwa ya site na iji systemctl ma ọ bụ jiri journetctl (ya na
-xe
ọkọlọtọ) iwu n'okpuru systemd iji nyochaa nsogbu ahụ. - Ịnwekwara ike inyocha faịlụ ndekọ sistemụ dị ka
/var/log/messages
ma ọ bụ ihe yiri ya maka ihe kpatara nsogbu gị. Gbalịa iji ngwaọrụ dị ka htop chọpụta ihe mmemme na-ewere CPU niile ma ọ bụ na-akpọchi igwe ma ọ bụ chọpụta ma ebe nchekwa na-agwụ gị, oghere diski, nkọwa faịlụ, ma ọ bụ ihe enyemaka ọzọ dị mkpa. - Iche na nsogbu ahụ bụ usoro ịgba ọsọ, ị nwere ike ịgbalị igbu ya mgbe niile (iji pkill ma ọ bụ gbuo utility) ka MySQL rụọ ọrụ nke ọma.
- N'iche na ihe nkesa mysqld na-akpata nsogbu, ị nwere ike ịme iwu a:
mysqladmin -u root ping
ma ọ bụmysqladmin -u root processlist
iji nweta nzaghachi ọ bụla site na ya. - Ọ bụrụ na nsogbu dị na mmemme onye ahịa gị ka ị na-achọ ijikọ na sava MySQL, lelee ihe kpatara na ọ naghị arụ ọrụ nke ọma, gbalịa nweta nsonaazụ ọ bụla na ya maka ebumnuche nchọpụta nsogbu.
Ị nwekwara ike ịmasị ịgụ akụkọ MySQL ndị a:
- Mụta MySQL/MariaDB maka ndị mbido – Akụkụ 1 Otu esi enyocha MySQL/MariaDB ọdụ data site na iji Netdata na CentOS 7
- Etu esi ebufe ọdụ data MySQL niile site na ochie gaa na nkesa ọhụrụ
- Mytop – Ngwa bara uru maka nlekota MySQL/Arụmọrụ MariaDB na Linux
- 12 MySQL/MariaDB Omume Kachasị Mma maka Linux
Maka ozi ndị ọzọ, lelee akwụkwọ ntuziaka MySQL gbasara nsogbu na njehie nkịtị, ọ na-edepụta nke ọma nsogbu na ozi njehie ị nwere ike izute mgbe ị na-eji MySQL, gụnyere ndị anyị tụlere n'elu yana ndị ọzọ.