Yum下载mysql数据库
1.wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
3.yum -y install mysql-community-server
如果第三步出现秘钥过期等问题操作执行如下代码然后在执行3步骤
3.1rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3.2wget -q -O - https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | apt-key add -
4.systemctl start mysqld
5.systemctl enable mysqld
6.cat /var/log/mysqld.log | grep 'temporary password' 查看密码
7.mysql -uroot -p你的密码
8.set global validate_password_policy=0; 修改密码等级
9.set global validate_password_length=1; 修改密码长度
10.ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'; 设置数据库密码
11.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
12.alter user 'root'@'%' identified with mysql_native_password by '你的密码';
13.grant all privileges on *.* to 'root'@'%' with grant option; 授予全部权限
14.flush privileges;
mysql数据库主从搭建
【Master主库】配置操作
1.主库修改配置文件(/etc/my.cnf)
[mysqld]
server-id=1 #设置 server-id
log-bin=master-bin #开启二进制日志
log-bin-index=master-bin.index #打开二进制日志文件索引
binlog-ignore-db=mysql #不复制那个库
binlog-do-db= online_mall #复制那个库2.重启数据库加载配置文件
service mysqld restart
3.登录数据库
mysql -uroot -p password
4.查看二进制日志是否开启
show global variables like '%log%';
查看log_bin ON状态
5.查看主节点二进制日志列表
SHOW MASTER LOGS;
查看log_name 与file_size
6.查看主节点
server id
:SHOW GLOBAL VARIABLES LIKE '%server%';
查找 server_id =1
7.在主节点上创建有复制权限的用户
注意参考截图中注释信息 ,可自定义,如 (用户名:repl_moTzxx,密码:201107070)
GRANT REPLICATION SLAVE ON *.* TO 'repl_moTzxx'@'192.168.80.222' IDENTIFIED BY '201107070';
8.刷新权限
flush privileges;
9.(如果条件允许)锁表
flush tables with read lock;
10.查看主库(master)状态
SHOW MASTER STATUS
(如果有多个二进制文件名,取最后一个的名称和位置!!;
至此,主库配置完成
【Slave从库】配置操作
1.编辑从节点配置文件 vim /etc/my.cnf
[mysqld]
server-id=2 #配置 server id
relay-log=slave-relay-log #打开从服务器中继日志文件
relay-log-index=slave-relay-log.index #打开从服务器中继日志文件索引2.启动或者重启
mysqld
服务"service mysqld restart"
3.进入mysql 执行sql 绑定master远程连接
需要主服务器主机名,登陆凭据,二进制文件(最后一个)的名称和位置
CHANGE MASTER TO MASTER_HOST='192.168.80.221',MASTER_USER='repl_moTzxx',MASTER_PASSWORD='201107070',MASTER_LOG_FILE='master-bin.000008', MASTER_LOG_POS=333;
4.启动
【Slave(从库)】
同步进程start slave;
5.查看
slave
状态show slave status\G;
如果前面对 【主库】做了
锁表操作
,此时需要: 【 对 Master 解除 table(表)的锁定:"unlock tables;"
】
指定同步数据库的一点小建议
# 不同步哪些数据库
binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = sys
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
# 只同步哪些数据库,除此之外,其他不同步 (注意跟上面的配置只使用一种方式即可)
# binlog-do-db = tp5_pro
- 所以,如果要指定数据库,建议在 【主库】中进行配置
提示:
【提示】:
如果,出现问题,那就先停止 【Slave】, 阅读日志,解决后再开启【Slave】
停止语句:STOP SLAVE;
开启语句:START SLAVE;
查看语句:SHOW SLAVE STATUS;
再次开启 Slave 时,如果指定的 Master 没变,可以只运行如下语句:
CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=154;
sql_run出错可:SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1
至此,主从同步配置完成
转载:
CentOS7 下 MySQL 主从复制/同步配置操作指导_moTzxx的博客-优快云博客_centos7mysql主从同步