xtrabackup备份----2019-08-22

①           问题:xtrabackup全部备份时,提示无法连接到数据库。

            innobackupex   --user=root  --password='QWer90-='   /xtrabackup/

            执行此条命令是提示无法连接到数据库(Access denied for user 'root'@'localhost' )。有两种可能,第一种:密码错误,检查密码;第二种:需要指定--host,否则也会提示这个错误。

            第二种的解决办法:

            innobackupex  --user=root   --password='QWer90-='  --host=localhost   /xtrabackup/ 这样就可以了,如果提示socket不能连接的话,也可以指定--socket=/tmp/mysql.sock。同理,在远程用户备份的时候,--host可以指定数据库所备份的主机ip。(数据库在授权的时候,它的授权本网段的用户都可以登录本数据库,单并不包括localhost,所以,如果给一个用户授权本网段的(10.0.128.%)主机都可以登录的话,这个用户在数据库所在的主机同样不可以登录,所以,想要在本机上登录的时候,需要把此用户再次单独授于localhost这个权限。)

②数据库备份用户授权(xtrabackup)

、、在mysql中用户

            create  user  xtrabackup@'localhost'   identified   by    'xtrabackup';

            grant   reload,lock  tables,replicationclient,createtablespace,process,super    on  *.*    toxtrabackup@'localhost' ;

            grant  create,insert,selectonpercona_schema.*   to  xtrabackup@'localhost';

             下面是此命令的详细解释:

               1、MySQL层面:由于要备份MYISAM引擎的表(xtrabackup不能备份MYISAM表,但是它的包装器innobackup可以备份这种表)所以要用到RELOAD,LOCK TABLE。这个权限用于执行FLUSH TABLES WITH READ LOCK、FLUSH ENGINE LOGS。

          2、MYSQL层面:REPLICATION CLIENT 这个权限为的是查看二进制日志当前写到了那个位置。

          3、MySQL层面:PROCESS 查看MySQL相关连接的进程。

          4、MySQL层面:SUPPER 用于在复制环境中执行stop slave | start slave。

          5、MySQL层面:create、insert、select;这是因为xtrabackup会创建一个它自己用的表对象。

、、在linux中的用户

          1、Linux文件系统层面:由于要写入,读取;所以用户要有对应备份目录的wrx权限。对datadir目录要rx权限。

          2、在linux系统中创建一个用于执行备份的用户

      # useradd xtrabackupuser

      #echo 'xtrabackupuser' | passwd --stdin xtrabackupuser

      #mkdir /mysql_backup && chown xtrabackupuser.xtrabackupuser /mysql_backup

你可能感兴趣的:(xtrabackup备份----2019-08-22)