linux下下载5.7mysql数据库(主从搭建)

Yum下载mysql数据库

1.wget 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.在主节点上创建有复制权限的用户
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 statusG;
如果前面对 【主库】做了锁表操作,此时需要: 【 对 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


至此,主从同步配置完成

转载:

经验分享 程序员 微信小程序 职场和发展