您的位置:首页 > 数据库 > MySQL

mysql 热备份

2015-07-07 10:46 645 查看

获取版本号

mysql -u root -p

Enter password:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

删除mysql

1.sudo apt-get autoremove --purge mysql-server-5.5

2.sudo apt-get remove mysql-common

清理残留数据

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

重新安装sql

去掉地址绑定

nano /etc/mysql/my.cnf #编辑配置文件

找到bind-address = 127.0.0.1

改为

#bind-address = 127.0.0.1

mysql> create database aaa;

mysql> use aaa;

mysql> create table `mytesttable` ( name varchar(20));

mysql> create table bbb(name varchar(30));

mysql> show tables;

+---------------+

| Tables_in_aaa |

+---------------+

| bbb |

| mytesttable |

+---------------+

2 rows in set (0.00 sec)

mysql>quit

a@ubuntu:~$ sudo netstat -tap | grep mysql

a@ubuntu:/var/log$ sudo /etc/init.d/mysql restart

C:\Documents and Settings\Administrator>mysql -usync -p12345 -h192.168.1.110

Warning: Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 72

Server version: 5.5.43-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

a@ubuntu:~$ sudo /etc/init.d/mysql start

* Starting MySQL database server mysqld [fail]

error.log

InnoDB: Unable to lock ./ibdata1, error: 11

InnoDB: Check that you do not already have another mysqld process

ulimit -s unlimited

重启了虚拟机


ENGINE选项

InnoDB 带行锁定和外键的事务安全表

MyISAM二进制轻便式存储引擎,此引擎是MySQL所用的默认存储引擎

mysql> create table tab1(id int(10),name varchar(20),phone varchar(20));

mysql> insert into tab1 values(1,'wangjinrong','10086');

mysql> select * from tab1;

+------+-------------+-------+

| id | name | phone |

+------+-------------+-------+

| 1 | wangjinrong | 10086 |

+------+-------------+-------+

1 row in set (0.00 sec)

重置master

mysql> reset master;

Query OK, 0 rows affected (0.05 sec)

mysql> exit

备份数据库

a@ubuntu:~$ mysqldump -uroot -p1 aaa -l -F > /tmp/test.sql;

a@ubuntu:~$ ls /tmp

a@ubuntu:~$ scp /tmp/test.sql 192.168.1.113:/tmp/

ssh: connect to host 192.168.1.113 port 22: Connection refused

lost connection

首先在本机执行:sudo apt-get install ssh

a@ubuntu:~$ scp /tmp/test.sql 192.168.1.113:/tmp/

The authenticity of host '192.168.1.113 (192.168.1.113)' can't be established.

ECDSA key fingerprint is 95:d3:68:6f:a5:87:26:86:29:cf:50:ca:66:a3:15:5f.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.1.113' (ECDSA) to the list of known hosts.

a@192.168.1.113's password: 1

test.sql 100% 1897 1.9KB/s 00:00

创建备份角色

mysql> grant replication slave on *.* to 'sync0'@'%' identified by '12345'

Query OK, 0 rows affected (0.00 sec)

mysql> show grants for user1@192.168.1.113 \G;

*************************** 1. row ***************************

Grants for user1@192.168.1.113: GRANT ALL PRIVILEGES ON *.* TO 'user1'@'192.168.1.113' IDENTIFIED BY PASSWORD '*00A51F3F48415C7D4E8908980D443C29C69B60C9'

1 row in set (0.00 sec)

mysql> show grants for sync\G;

*************************** 1. row ***************************

Grants for sync@%: GRANT REPLICATION SLAVE ON *.* TO 'sync'@'%' IDENTIFIED BY PASSWORD '*00A51F3F48415C7D4E8908980D443C29C69B60C9'

1 row in set (0.00 sec)

从机器

mysql> reset master;

ERROR 1186 (HY000): Binlog closed, cannot RESET MASTER

恢复数据库

a@ubuntu:/tmp$ mysql -uroot -p1 aaa -v -f < /tmp/test.sql;

a@ubuntu:/tmp$ sudo gedit /etc/mysql/my.cnf;

server-id = 2

master-host = 192.168.1.103

master-user = user1

master-password = 12345

master-port = 3306

a@ubuntu:/tmp$ sudo /etc/init.d/mysql restart

* Stopping MySQL database server mysqld [ OK ]

* Starting MySQL database server mysqld [fail]

查看日志

a@ubuntu:/tmp$ gedit /var/log/mysql/error.log

150707 20:48:37 InnoDB: 5.5.43 started; log sequence number 1599144

150707 20:48:37 [ERROR] /usr/sbin/mysqld: unknown variable 'master-host=192.168.1.103'

150707 20:48:37 [ERROR] Aborting

#master-host = 192.168.1.103

#master-user = user1

#master-password = 12345

这样可以重新启动mysql

主服务器配置文件修改

[mysqld]

#bind-address = 127.0.0.1

server-id = 1

log_bin = /var/log/mysql/mysql-bin.log

log_slow_queries = /var/log/mysql/mysql-slow.log

binlog_do_db = aaa

显示master状态

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000006 | 107 | aaa | |

+------------------+----------+--------------+------------------+

从机器的设置

[mysqld]

#bind-address = 127.0.0.1

server-id = 2

read-only

replicate-do-db = aaa

设置master的信息

mysql> change master to MASTER_HOST='192.168.1.110', MASTER_USER='sync0',MASTER_PASSWORD='12345',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=107;

启动slave

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

查看slave状态

mysql> show slave status\G;

*************************** 1. row ***************************

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.1.110

Master_User: sync0

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000006

Read_Master_Log_Pos: 249

Relay_Log_File: mysqld-relay-bin.000002

Relay_Log_Pos: 395

Relay_Master_Log_File: mysql-bin.000006

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

Replicate_Do_DB: aaa

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table:

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 249

Relay_Log_Space: 552

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

Master_SSL_Verify_Server_Cert: No

Last_IO_Errno: 0

Last_IO_Error:

Last_SQL_Errno: 0

Last_SQL_Error:

Replicate_Ignore_Server_Ids:

Master_Server_Id: 1

1 row in set (0.01 sec)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: