<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="lt">
	<id>https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=PerconaDB</id>
	<title>PerconaDB - Versijų istorija</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eofnet.lt/w//index.php?action=history&amp;feed=atom&amp;title=PerconaDB"/>
	<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=PerconaDB&amp;action=history"/>
	<updated>2026-04-21T09:57:16Z</updated>
	<subtitle>Šio puslapio versijų istorija projekte</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.eofnet.lt/w//index.php?title=PerconaDB&amp;diff=8770&amp;oldid=prev</id>
		<title>\dev\null: shared temp mysql'e</title>
		<link rel="alternate" type="text/html" href="https://wiki.eofnet.lt/w//index.php?title=PerconaDB&amp;diff=8770&amp;oldid=prev"/>
		<updated>2018-09-24T07:41:01Z</updated>

		<summary type="html">&lt;p&gt;shared temp mysql&amp;#039;e&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Naujas puslapis&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Šiame puslapyje bus aprašomos [[MySQL]] v5.7 '''PerconaXTRA DB Cluster''' gyvenimiškos problemos, konfigūravimo ypatumai ir kiti scenarijai kurie pagalbėja administruojant tokio tipo klasterius. &lt;br /&gt;
&lt;br /&gt;
= Backup =&lt;br /&gt;
 xtrabackup --backup --target-dir=backup_dir/&lt;br /&gt;
&lt;br /&gt;
= Restore =&lt;br /&gt;
&lt;br /&gt;
 xtrabackup --prepare --target-dir=backup_dir/&lt;br /&gt;
 rsync -avrP backup_dir/ /var/lib/mysql/&lt;br /&gt;
 chown -R mysql:mysql /var/lib/mysql&lt;br /&gt;
= Klaidų sprendimas =&lt;br /&gt;
&lt;br /&gt;
== Vienos DB backup/restore ==&lt;br /&gt;
&lt;br /&gt;
=== backup ===&lt;br /&gt;
 innobackupex --databases=&amp;quot;duombaze&amp;quot; backupas/&lt;br /&gt;
 innobackupex --apply-log --export backupas/2017-04-05_16-53-54/&lt;br /&gt;
 tar cfpz backupas.tar.gz backupas/&lt;br /&gt;
 scp -r backupas.tar.gz root@remote:&lt;br /&gt;
=== restore ===&lt;br /&gt;
 systemctl stop mysql&lt;br /&gt;
 tar xzf backupas.tar.gz&lt;br /&gt;
 rsync -avrP backupas/2017-04-05_17-07-09/duombaze /var/lib/mysql/&lt;br /&gt;
 chown -R mysql:mysql /var/lib/mysql&lt;br /&gt;
 systemctl start mysql&lt;br /&gt;
&lt;br /&gt;
=== MySQL Dump ===&lt;br /&gt;
 mysqldump --single-transaction duombaze &amp;gt; duombaze.sql&lt;br /&gt;
Sudėjimas (serveryje įjungiame permissive režimą)&lt;br /&gt;
 mysql &amp;gt; select @@pxc_strict_mode;  &lt;br /&gt;
 mysql &amp;gt; SET pxc_strict_mode=PERMISSIVE;&lt;br /&gt;
Suimportavus atstatome:&lt;br /&gt;
 mysql &amp;gt; SET GLOBAL pxc_strict_mode=ENFORCING; &lt;br /&gt;
&lt;br /&gt;
== InnoDB: Cannot calculate statistics for table `clients`.`blah` because the .ibd file is missing. ==&lt;br /&gt;
&lt;br /&gt;
 ALTER TABLE clients IMPORT TABLESPACE; show warnings;&lt;br /&gt;
&lt;br /&gt;
== Crash recovery ==&lt;br /&gt;
&lt;br /&gt;
 https://www.percona.com/blog/2014/09/01/galera-replication-how-to-recover-a-pxc-cluster/&lt;br /&gt;
 service mysql start --tc-heuristic-recover=0&lt;br /&gt;
 service mysql start --tc-heuristic-recover=ROLLBACK&lt;br /&gt;
 service mysql start --tc-heuristic-recover=COMMIT&lt;br /&gt;
== Recovery po visu node'u išjungimo arba total crash ==&lt;br /&gt;
Prieš startuojant kurį nors node turim rasti replikavimo sekos &amp;quot;last sequence id&amp;quot;, jis įrašomas į /var/lib/mysql/grstate.dat. Bet jeigu ten matome nulius ir sequence id -1. Įdedam į my.cnf '''wsrep_provider_options='pc.recovery=yes'''' (tik nepamirštam jo paskui išimti), tuomet papildomai reikia paleisti recovery mode:&lt;br /&gt;
 # mysqld_safe --wsrep-recover&lt;br /&gt;
 140821 15:57:15 mysqld_safe Logging to '/var/lib/mysql/percona3_error.log'.&lt;br /&gt;
 140821 15:57:15 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql&lt;br /&gt;
 140821 15:57:15 mysqld_safe WSREP: Running position recovery with --log_error='/var/lib/mysql/wsrep_recovery.6bUIqM' --pid-file='/var/lib/mysql/percona3-recover.pid'&lt;br /&gt;
 140821 15:57:17 mysqld_safe WSREP: Recovered position 4b83bbe6-28bb-11e4-a885-4fc539d5eb6a:2&lt;br /&gt;
 140821 15:57:19 mysqld_safe mysqld from pid file /var/lib/mysql/percona3.pid ended&lt;br /&gt;
Mums butinai reikia sužinoti kurio node sequence id yra paskutinesnis, tas ir bus kaip pagrindinis visiems likusiems node'ams replikuotis.&lt;br /&gt;
Randame kuriame uuid yra normalūs, ne nuliai '''/var/lib/mysql/grastate.dat''', jeigu yra seqno tai išvis pasaka&lt;br /&gt;
dedame safe to bootstrap = 1 &lt;br /&gt;
my.cnf pakeičiam wsrep_Address į gcom:// (po sėkmingo start reiks atkeisti atgal) ir startuojam pirmą node,  kuris bus pagrindinis.&lt;br /&gt;
Arba galime tiesiog parašyti (gcom:// analogas Debian sistemose):&lt;br /&gt;
 /etc/init.d/mysql restart-bootstrap&lt;br /&gt;
Tuomet kai pagrindinis node pasikrauna, galime startuoti visus kitus su komanda:&lt;br /&gt;
 service mysql start --wsrep_sst_donor=nodeC&lt;br /&gt;
Būtinai nurodome, prieš tai startavusio pagrindinio node pavadinimą. Jeigu bandymo replikuoti metu rodomas '''failed to connect sst user wrong password''' tada sutvarkome šia problemą, prisijungiame prie to mysql kuriame node jis pasikėlė tvarkingai ir parašome:&lt;br /&gt;
 use mysql; DELETE FROM user where User ='sstuser'; flush privileges;&lt;br /&gt;
 CREATE USER 'sstuser'@'%' IDENTIFIED BY 's3cret';&lt;br /&gt;
 GRANT PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'sstuser'@'%'; flush privileges;&lt;br /&gt;
Atitinkamai turi būti pakeistas ir my.cnf konfigūracinis failas. Toliau bandome įkrauti likusius node'us.&lt;br /&gt;
&lt;br /&gt;
== ibtmp1 data limitavimas ==&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G&lt;br /&gt;
&lt;br /&gt;
== Shared TMP ==&lt;br /&gt;
Situacija kai turime fizinį serverį su 4VPS kuriuose yra MySQL clusteris, bet pastoviai pritrūkstame vietos del neoptimizuotų užklausų. Kai MySQL selecto metu vyksta groupas ir orderis ir t.t. Galime naudoti vieną TMP folderį visiems VPS sharintą per [[NFS]].&lt;br /&gt;
Pagr. serveryje paruošiame TMP sharinimui, sukuriame '''/tempo''' direktoriją su 777 teisėmis. &lt;br /&gt;
Įdiegiame [[NFS]] serverį:&lt;br /&gt;
 apt-get install nfs-kernel-server &lt;br /&gt;
Nustatome /etc/exports&lt;br /&gt;
 /tempo       10.0.0.0/24(rw,nohide,insecure,no_subtree_check,async)&lt;br /&gt;
Perkrauname [[NFS]] servisą:&lt;br /&gt;
 service nfs-kernel-server restart&lt;br /&gt;
Taip pat turėsime sukurti direktorijas /tempo/mysql-node1 ir t.t. su to vps mysql vartotojo id:group teisėmis, prieš tai pažiūrėję (id mysql). Pvz.:&lt;br /&gt;
 chown 107:111 /tempo/mysql-node1&lt;br /&gt;
Kiekviename iš MySQL clusterio node'ų įdiegiame [[NFS]] client v4 palaikymą ir užmontuojame nutolusią failų sistemą, bei sutvarkome [[MySQL]] konfigūraciją:&lt;br /&gt;
 apt-get install nfs-common &lt;br /&gt;
 mkdir /tempo&lt;br /&gt;
Į /etc/fstab įdedame:&lt;br /&gt;
 10.0.0.1:/tempo   /tempo   nfs    auto  0  0&lt;br /&gt;
Primontuojame visas failų sistemas:&lt;br /&gt;
 mount -a&lt;br /&gt;
Į /etc/mysql/my.cnf įrašome&lt;br /&gt;
 [mysqld]&lt;br /&gt;
 tmpdir = /tempo/mysql-node1&lt;br /&gt;
Išjungiame ir iš naujo paleidžiame mysql:&lt;br /&gt;
 /etc/init.d/mysql stop&lt;br /&gt;
 /etc/init.d/mysql start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tvarkimasis su DeadLock'ais serverio lygmenyje ==&lt;br /&gt;
&lt;br /&gt;
Galima naudoti (bet nepatartina):&lt;br /&gt;
  [mysqld]&lt;br /&gt;
 wsrep_retry_autocommit=4&lt;br /&gt;
&lt;br /&gt;
== Monitoring ==&lt;br /&gt;
&lt;br /&gt;
[[PerconaDB_Monitoring]]&lt;br /&gt;
&lt;br /&gt;
{{Template:Distributions}}&lt;br /&gt;
[[Category:MySQL]]&lt;br /&gt;
[[Category:Performance]]&lt;br /&gt;
[[Category:Duombazės]]&lt;br /&gt;
[[Category:Programavimas]]&lt;/div&gt;</summary>
		<author><name>\dev\null</name></author>
	</entry>
</feed>