linux复制mysql数据库_linux下的mysql数据库以及mysql主从复制

mysql主从配置流程如下

环境准备,准备2台服务器,安装好2个数据库192.168.226.128是主库192.168.226.130是从库主库配置

编辑主库的/etc/my.cnf 写入如下配置

[mysqld]

server-id=1log-bin=s18mysql-bin #s18mysql是日志的名字2.改了配置文件,重启数据库

systemctl restart mariadb3.登录数据库,创建一个用于远程复制数据的账户

create user'yazhou'@'%' identified by 'yazhouhao';4.授予yazhou这个账号,从库的身份

grant replication slave on*.* to 'yazhou'@'%';

#立即刷新权限表

flush privileges;5.锁住主库,防止数据写入,保证主从库数据一致,如果配置的时候没有人写入数据,可以不写 (可写可不写,如果写了,必须执行第9步进行解锁)

flush table with readlock;6.登出数据库,导出当前所有的数据,发送给从库

mysqldump-uroot -p --all-databases > /opt/all.sql7.发送这个数据给从库

scp/opt/all.sql root@192.168.226.130:/opt/ #192.168.22.130为从库ip8.登录主库数据库,查看主库的binlog状态

show master status;9.进行解锁

unlock table;

查看slave从库的配置如下:1.登录从库数据库,修改从库的配置文件/etc/my.cnf

在[mysqld]下写入如下配置

server-id=10

重启数据库 systemctl restart mariadb

2.导入主库的数据库

#导入数据的第一种方式

登出数据库,然后

mysql-uroot -p < /opt/all.sql

#导入数据的第二种方式

先登录从库mysql

然后source /opt/all.sql;3.此时主从数据库已经在同一个起始点了,开始数据同步

这是一段sql语句,在从库mysql中执行的

change master to master_host='192.168.226.128',#192.168.226.128主库的ip

master_user='yazhou', #主库授权的用户

master_password='yazhouhao',

master_log_file='s18mysql-bin.000001', #主库binlog状态信息里面的信息

master_log_pos=709; #主库binlog状态信息里面的信息4.开启从库同步(在从库mysql中输入的命令)

start slave ;5.检测是否主从成功 ,

show slave status\G

检查这2个参数

Slave_IO_Running: Yes

Slave_SQL_Running: Yes6.此时主从数据库配置完成,已经可以在主库写入数据,从库实时写入了,但是从库权限太大,不止能读主库数据,还能给从库数据库写入数据,所以需要配置读写分离(第7步)7.配置mysql主从复制,读写分离

修改从库的/etc/my.cnf 添加只读参数

在[mysqld]下面写入如下

read-only=true

8.在主库上创建一个普通用户,在从库上进行登录,查看是否可以读写数据库

create user"ywy"@"%" identified by "ywyacd";9.给这个普通用户查看数据库的权限

grantselect on *.* to ywy@"%" ;

刷新权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值