рд╕рдВрд╕реНрдХрд░рдг:
рд╡рд┐рдзрд┐ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдореИрдВрдиреЗ Ansible рдХреЛ рдирд┐рдореНрди рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛:
TARGET="/tmp/ansible01" sudo apt-рдкрд╛рдпрдерди-рд╕реЗрдЯрдЕрдкрдЯреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ sudo easy_install virtualenv cd $TARGET && virtualenv ansible рд╕реНрд░реЛрдд $TARGET/ansible/bin/active рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд ansible
рд╡рд┐рд╡рд░рдг:
рдЗрд╕ рдкреНрд▓реЗрдмреБрдХ (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдХреЙрдкреА/рдкреЗрд╕реНрдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ mysql рдХреНрд╡реЗрд░реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред
- рдирд╛рдо: рдЧреИрд▓реЗрд░рд╛ рдпреВрдЬрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдирд╛ mysql_user: login_user = {{mysql_user}} login_password = {{mysql_password}} рдирд╛рдо = {{galera_user}} рдкрд╛рд╕рд╡рд░реНрдб = {{galera_password}} рд░рд╛рдЬреНрдп = рд╡рд░реНрддрдорд╛рди рдирд┐рдЬреА = *ред *: рд╕рднреА
рдлреЗрдВрдХреА рдЧрдИ рддреНрд░реБрдЯрд┐:
REMOTE_MODULE mysql_user login_user=root login_password=рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдирд╛рдо=рдПрд▓реНрд╡рд┐рд╕ рдкрд╛рд╕рд╡рд░реНрдб=рд╡рд╕рдВрдд рд░рд╛рдЬреНрдп=рд╡рд░реНрддрдорд╛рди рдирд┐рдЬреА=*.*:рд╕рднреА рдШрд╛рддрдХ: [c6-4] => рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓: рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо): рдлрд╝рд╛рдЗрд▓ "/root/.ansible/tmp/ansible-1380442867.96-101659379289717/mysql_user", рд▓рд╛рдЗрди 1348, рдореЗрдВ рдореБрдЦреНрдп() рдлрд╝рд╛рдЗрд▓ "/root/.ansible/tmp/ansible-1380442867.96-101659379289717/mysql_user", рд▓рд╛рдЗрди 405, рдореБрдЦреНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд = user_mod (рдХрд░реНрд╕рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╣реЛрд╕реНрдЯ, рдкрд╛рд╕рд╡рд░реНрдб, рдирд┐рдЬреА) рдлрд╝рд╛рдЗрд▓ "/root/.ansible/tmp/ansible-1380442867.96-101659379289717/mysql_user", рд▓рд╛рдЗрди 188, user_mod рдореЗрдВ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░_рд░реЗрд╡реЛрдХ (рдХрд░реНрд╕рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╣реЛрд╕реНрдЯ, db_table, рдЕрдиреБрджрд╛рди_рд╡рд┐рдХрд▓реНрдк) рдлрд╝рд╛рдЗрд▓ "/root/.ansible/tmp/ansible-1380442867.96-101659379289717/mysql_user", рд▓рд╛рдЗрди 263, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдореЗрдВ рдХрд░реНрд╕рд░.рдирд┐рд╖реНрдкрд╛рджрди (рдХреНрд╡реЗрд░реА) рдлрд╝рд╛рдЗрд▓ "/usr/lib64/python2.6/site-packages/MySQLdb/cursors.py", рд▓рд╛рдЗрди 173, рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ self.errorhandler(self, exc, value) рдлрд╝рд╛рдЗрд▓ "/usr/lib64/python2.6/site-packages/MySQLdb/connections.py", рд▓рд╛рдЗрди 36, рдбрд┐рдлреЙрд▓реНрдЯрдПрд░рд░рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рдПрд░рд░рдХреНрд▓рд╛рд╕ рдмрдврд╝рд╛рдПрдБ, рдПрд░рд░рд╡реИрд▓реНрдпреВ _mysql_exceptions.OperationalError: (1045, "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 'рд░реВрдЯ' @ 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рдирд┐рд╖реЗрдз (рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ: рд╣рд╛рдБ)") рдШрд╛рддрдХ: рд╕рднреА рд╣реЛрд╕реНрдЯ рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рдлрд▓ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ -- рдЧрд░реНрднрдкрд╛рдд --
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
[рд░реВрдЯ@c6-4 ~]# mysql mysql -e "рд╣реЛрд╕реНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛;" | рдЧреНрд░реЗрдк рдПрд▓реНрд╡рд┐рд╕ | рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ | рдПрд▓реНрд╡рд┐рд╕ |
рдпрд╣ рдПрдХ MySQL рдореЙрдбреНрдпреВрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╢реНрди рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рд╢рд╛рдпрдж my.cnf, рдЖрджрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рдЕрдЧрд░ рдЖрдк рдХреБрдЫ рдорджрдж рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рд╕реЗ рд░реБрдХреЗрдВред
рд╕рдмрдХ рд╕реАрдЦрд╛: рдмрд┐рдирд╛ рд╕реЛрдЪреЗ рд╕рдордЭреЗ рдбреЙрдХреНрд╕ рд╕реЗ рдХреЙрдкреА/рдкреЗрд╕реНрдЯ рди рдХрд░реЗрдВред
рдЖрдиреЗ рд╡рд╛рд▓реА рдкреАрдврд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП:
рдореИрдВрдиреЗ рдЗрд╕ рдХрд╛рд░реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ mysql рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 'рд░реВрдЯ' рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ:
- рдирд╛рдо- рдирд╛рдо: MySQL рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдирд╛ mysql_user: рдирд╛рдо = рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб = {{mysql_password}} рдирд┐рдЬреА = *ред *: рд╕рднреА рд░рд╛рдЬреНрдп = рд╡рд░реНрддрдорд╛рди
рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ 'рд░реВрдЯ' рдХреА рдЕрдиреБрджрд╛рди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХ рджрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдирдП рдмрдирд╛рдП рдЧрдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рдЬреА рджреЗрдиреЗ рдХреЗ рдЕрдЧрд▓реЗ рдмрд┐рдЯ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ ...
рднрд╛рдбрд╝ рдореЗрдВ рдЬрд╛рдУ, рдореЗрд░реЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рд╣реБрдЖ рдерд╛ред рдбреЙрдХреНрд╕ рдХреЛ рдпрд╣рд╛рдВ ASAP рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдм рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╣реИ :(
рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗ рдЧрдпрд╛ рдХрд┐ рдореМрдЬреВрджрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдХреБрдЫ рдХреЙрд▓ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рд╣реА рдкреНрд░рдорд╛рдг-рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдирдП рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ ....
рдЗрд╕реЗ рддрдм рддрдХ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рддрдХ рдХрд┐ рдбреЙрдХреНрд╕ рддрдп рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ рдФрд░ mysql_user рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рд░реЛрдХрдерд╛рдо рддрдВрддреНрд░ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП !!!
рдпрд╣ рдХрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдвреВрдВрдврдирд╛ рдпрд╛ рдареАрдХ рдХрд░рдирд╛ рдмреЛрдЭрд┐рд▓ рд╣реИред
рдЕрдЧрд░ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ priv=*.*:ALL
рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрджрд╛рди рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕реЗ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдореЗрдВ рдПрдХ рдмрдбрд╝реА рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд╕рд╛рде рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЕрдиреБрджрд╛рди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ) рдпрд╛ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдЙрд╕реЗ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЕрдиреБрджрд╛рди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИрдВ ...
рдореИрдиреНрдпреБрдЕрд▓ рдлрд┐рдХреНрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде mysql рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реИ:
--skip-grant-tables
рдФрд░ mysql рдХрдорд╛рдВрдб рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (рдиреЛрдЯ: GRANT ... ALL .. рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЧреНрд░рд╛рдВрдЯ рдЯреЗрдмрд▓ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;