centos查看mysql的操作log_mysql主从备份

mysql:错误:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL serve

root@CentOS~]mysql -u root -p		#登录数据库
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host'   from user where user='root';

mysql:错误:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
root@CentOS~]mysql -u root mysql
mysql> delete from user where USER='';
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql> q

Centos下MySQL主从同步配置

说明:由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,

因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,
Master的版本肯定不能高于Slave版本。(版本向下兼容)

一、环境

主机:master操作系统:centos 7 64位

IP:192.168.1.2 MySQL版本:5.6

从机:slave操作系统:centos 7 64位

IP:192.168.1.3 MySQL版本:5.6

二、创建测试数据库

分别登录master机和slave机的mysql:mysql –u root –p

创建数据库:create database repl;

三、master机和slave机的相关配置

1、修改master机器中mysql配置文件my.cnf,该文件在/etc目录下

fb35d38a2def6e8186cc2b854bb27771.png

在[mysqld]配置段添加如下字段

server-id=1

log-bin=mysql-bin

log-slave-updates=1

binlog-do-db=repl #需要同步的数据库,如果没有本行表示同步所有的数据库

binlog-ignore-db=mysql #被忽略的数据

95e07e7c844fc5dc077cc5ecc604a959.png

在master机上为slave机添加一同步帐号:repl:用户名,从机ip地址,123456:密码

[root@CentOS ~]# mysql –uroot –p

Enter password: 输入密码

mysql>grant replication slave on *.* to 'repl'@'192.168.1.3' identified by '123456';

mysql>flush privileges;

cf2f7afa1e26d4ff701bb0b805c4daf1.png

退出数据库,重启master机的mysql服务:service mysqld restart

[root@CentOS ~]# service mysqld restart

master机进入数据库使用show master status 命令看日志情况

[root@CentOS ~]>show master status;

385936c350aaf5237e3e3b89de331278.png

通过该命令获得File和Position,在slave中有用 。注:基准这里的“mysql-bin.000013”和“199”,在下面 “(3)设置Slave复制”的配置中会用到

2、修改slave机中mysql配置文件

(1)修改slave机器中mysql配置文件my.cnf,该文件在/etc目录下

c093cf952c6fd6a48479445e23ba11b1.png

同样在[mysqld]字段下添加如下内容

server-id=2
log-bin= mysql-bin
relay-log= mysql-relay-bin
read-only=1
log-slave-updates=1
replicate-do-db=repl #要同步的数据库,不写本行表示同步所有数据库

然后重启slave机的mysql:service mysqld restart

7c6e91439a5808147139054bdc3dfc85.png

(2)在slave机上验证对主机(master)连接

[root@localhost ~]#mysql -h192.168.1.2 -urepl -p123456

24c7c807b8a0fcee46c2d36c07b69a56.png

获取MASTER_LOG_FILE,MASTER_LOG_POS

master机进入数据库使用show master status 命令看日志情况

[root@CentOS ~]>show master status;

385936c350aaf5237e3e3b89de331278.png

(3)在从机上设置Slave复制

CHANGE MASTER TO
MASTER_HOST='192.168.1.2',
MASTER_USER='repl',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000013',
MASTER_LOG_POS=199,
MASTER_CONNECT_RETRY=10;

b58eca9abf2bdf18d193e33e653f1764.png

启动成功运行SHOW SLAVE STATUS查看输出结果:

主要查看Slave_IO_Running和Slave_SQL_Running 两列是否都为YES

afa3000e9bca73988570c9deeb65fd14.png

四、测试主从服务器是否能同步

(1)在主服务器上面新建一个表,必须在repl数据下

mysql> use repl

Database changed

mysql> create table test(id int(11) AUTO_INCREMENT ,name char(10), PRIMARY KEY (id));

Query OK, 0 rows affected (0.00 sec)

mysql> insert into test values(1,'zaq');

Query OK, 1 row affected (0.00 sec)

mysql> insert into test values(1,'xsw');

Query OK, 1 row affected (0.00 sec)

mysql> select * from test;

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

| id | name |

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

| 1 | zaq |

| 1 | xsw |

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

2 rows in set (0.00 sec)

(2)在从服务器查看是否同步过来

mysql> use repl;

Database changed

mysql> select * from test;

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

| id | name |

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

| 1 | zaq |

| 1 | xsw |

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

2 rows in set (0.00 sec)

说明已经配置成功。

对于CentOS 7上的MySQL数据迁移,您可以采取以下步骤: 1. 在新的服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在旧服务器上导出数据库: ``` mysqldump -u [username] -p[password] [database_name] > [file_name].sql ``` 6. 将导出的文件传输到新服务器。 7. 在新服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 8. 确认数据是否已成功导入。 对于CentOS 7上的MySQL 5.7主从数据迁移,您可以采取以下步骤: 1. 在新服务器上安装MySQL 5.7,并确保它与旧服务器上的版本相同。 2. 在新服务器上创建一个与旧服务器相同的数据库和用户,并授予适当的权限。 3. 在旧服务器上停止MySQL服务。 4. 在新服务器上启动MySQL服务,并确保它正在运行。 5. 在主服务器上执行以下命令: ``` FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; ``` 6. 记下"File"和"Position"的值。 7. 在主服务器上导出数据库: ``` mysqldump -u [username] -p[password] --master-data=1 [database_name] > [file_name].sql ``` 8. 将导出的文件传输到新服务器。 9. 在从服务器上导入数据库: ``` mysql -u [username] -p[password] [database_name] < [file_name].sql ``` 10. 在从服务器上执行以下命令: ``` CHANGE MASTER TO MASTER_HOST='[主服务器IP地址]', MASTER_USER='[主服务器用户名]', MASTER_PASSWORD='[主服务器密码]', MASTER_LOG_FILE='[File的值]', MASTER_LOG_POS=[Position的值]; START SLAVE; ``` 11. 确认数据是否已成功导入并且主从同步正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值