mysql 热备份

获取版本号

 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL备份是指在数据库运行期间进行备份操作,而不需要停止数据库服务。根据提供的引用内容,可以使用mysqldump工具来进行备份。 具体步骤如下: 1. 打开命令提示符或终端窗口,并切换到MySQL的安装目录下的bin目录。 2. 使用以下命令进行备份操作:mysqldump -u root -p mydb > d:\mydb.sql 其中,-u指定用户名为root,-p表示需要输入密码,mydb是需要备份的数据库名称,d:\mydb.sql是备份文件的保存路径和文件名。 3. 如果你的数据库中有自己写的存储过程或函数,还需要加上--routines选项,以备份这些存储过程或函数。例如:mysqldump -u root -p --routines mydb > d:\mydb.sql 4. 注意,在执行备份命令时,如果SQL语句末尾添加了分号';',可能会导致出现"db not found"的错误。因此,请确保备份命令的语句末尾没有添加分号。 5. 执行备份命令后,等待一段时间,直到备份完成。备份文件将保存在指定的路径和文件名中。 这样,你就可以通过使用mysqldump工具进行MySQL备份操作了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [mysql备份](https://blog.csdn.net/weixin_39994296/article/details/113631263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值