Wednesday, August 14, 2013

MySQL Workbench 6.0 no CentOS 6.4

Original post: http://anothermysqldba.blogspot.com/2013/08/mysql-workbench-60-on-centos-64.html

Eu não sou realmente um DBA GUI. Eles têm o seu lugar e pode fazer coisas boas, mas eu simplesmente não usá-los muito. Você pode dizer com base no que eu tiver atualizado.

# cat /etc/*-release
CentOS release 6.4 (Final)

# rpm -qa | grep MySQL
MySQL-server-5.6.13-1.el6.x86_64
MySQL-devel-5.6.13-1.el6.x86_64
MySQL-shared-compat-5.6.13-1.el6.x86_64
perl-DBD-MySQL-4.013-3.el6.x86_64
MySQL-python-1.2.3-0.3.c1.1.el6.x86_64
MySQL-client-5.6.13-1.el6.x86_64
MySQL-shared-5.6.13-1.el6.x86_64
MySQL-test-5.6.13-1.el6.x86_6

# rpm -qa | grep mysql
php-mysql-5.3.3-23.el6_4.x86_64
mysql-workbench-gpl-5.2.47-1el6.x86_64


O mysql-workbench acontece a ser a versão mais recente na distro, mas a versão mais recente é mysql-workbench-community-6.0.6-1.el6. Então, eu estava curioso depois que eu vi o mais recente MySQL Workbench blog: http://mysqlworkbench.org/2013/08/mysql-workbench-6-0-6-ga-released/

Então, hora de atualizar ....
Primeiro, mysql-workbench-comunidade é dependente libtinyxml então você tem que se certificar de que está instalado ou é instalado quando você atualizar / instalar.

Outros tiveram de lidar com isso antes:
Então, depois eu olhei e encontrei o pacote TinyXML ...

yum install tinyxml-2.6.1-1.el6.x86_64.rpm mysql-workbench-community-6.0.6-1.el6.x86_64.rpm

Installed:
mysql-workbench-community.x86_64 0:6.0.6-1.el6 tinyxml.x86_64 0:2.6.1-1.el6

Replaced:
mysql-workbench-gpl.x86_64 0:5.2.47-1el6

Complete!


Ok ... assim ele inicia e tem um novo visual.
Sendo um shell nerd que eu vá para o shell primeiro. Claro que reclama que mysql-utilitários não estão instalados. Ele pode levá-lo para a página de download, mas pode muito bem ir antes do tempo porque você pode precisar instalar o Conector-Python também. Então, basicamente ... ir buscar esses pacotes e instalar, bem como ...
mysql-connector-python-1.0.12-1.el6.noarch.rpm
mysql-utilities-1.3.4-1.el6.noarch.rpm
# yum install mysql-*.rpm

Então ... tudo isso e eu tenho uma GUI que abre uma janela de terminal :)

The following MySQL Utilities are available:
Launching console ...

Utility Description
---------------- ---------------------------------------------------------
mysqlauditadmin audit log maintenance utility
mysqlauditgrep audit log search utility
mysqldbcompare compare databases for consistency
mysqldbcopy copy databases from one server to another
mysqldbexport export metadata and data from databases
mysqldbimport import metadata and data from files
mysqldiff compare object definitions among objects where the
difference is how db1.obj1 differs from db2.obj2
mysqldiskusage show disk usage for databases
mysqlfailover automatic replication health monitoring and failover
mysqlfrm show CREATE TABLE from .frm files
mysqlindexcheck check for duplicate or redundant indexes
mysqlmetagrep search metadata
mysqlprocgrep search process information
mysqlreplicate establish replication with a master
mysqlrpladmin administration utility for MySQL replication
mysqlrplcheck check replication
mysqlrplshow show slaves attached to a master
mysqlserverclone start another instance of a running server
mysqlserverinfo show server information
mysqluserclone clone a MySQL user account to one or more new users


Então, movendo-se, além disso, comecei a olhar ao redor.
A Administração tem um novo visual agradável com algumas informações gráfico decente facilmente disponíveis para você.

O modelo sakila parece muito agradável embora. O modelador é um recurso útil no GUI admito.

Bem, isso é tudo o que eu fiz com o novo MySQL Workbench, mas eu estou atualizado agora :)

Friday, August 9, 2013

Criar um servidor Slave (secundário) com Percona Xtrabackup

Original post: http://anothermysqldba.blogspot.com/2013/08/create-slave-secondary-server-with.html

Então, primeiro você pode salvar-se algum tempo e ler o exemplo Percona para isso:
http://www.percona.com/doc/percona-xtrabackup/2.1/howtos/setting_up_replication.html

Mas no caso aqui é um exemplo baseado em uma situação real.

Servidor primário

# innobackupex /tmp/ <---- this is whatever directory you want to store the backup in. This is a very basic no fluff hot backup.

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy
.........
130809 14:40:11 innobackupex: Connection to database server closed
130809 14:40:11 innobackupex: completed OK!

Certifique-se de ver o arquivo xtrabackup_binlog_info. Se você não fizer isso você não vai ter facilmente a posição e informações de log. Você vai ter que cavar os log binário com base no tempo e etc que é mais trabalho do que o necessário.

innobackupex --apply-log /tmp/<Timestamp Directory Here>

Agora depende de você. Você pode rsync o diretório para o escravo ou tar [gzip] então scp ao escravo. Independentemente do método para mover a escravo, você tem um hotbackup criado e pronto para ir.


Servidor secundário

# /etc/init.d/mysql stop
mv /var/lib/mysql /var/lib/mysql_ORIG

No entanto, você moveu o arquivo do mestre para o escravo, colocar o conteúdo para a pasta datadir, assumiu por exemplo: / var / lib / mysql.

# chown -R mysql:mysql mysql
/etc/init.d/mysql start
Starting MySQL... [ OK ]

Agora, no seu servidor MySQL slave, você pode configurar as informações do usuário de replicação facilmente.

CHANGE MASTER TO
MASTER_HOST='<MASTER_HOST>',
MASTER_USER='<MASTER_USER>',
MASTER_PASSWORD='<MASTER_PASSWORD>',
MASTER_CONNECT_RETRY = 10 ;

Obter o registro ea posição do arquivo xtrabackup.

# more xtrabackup_binlog_info
<BinLog info> <POSITION INFO>

CHANGE MASTER TO MASTER_LOG_FILE='<BinLog info>', MASTER_LOG_POS=<POSITION INFO>;

Start slave;


Isso é que é, em poucas palavras. Para mais informações rever a url Percona dada no início.