一、完全卸载mysql
1.1 查看并删除mysql安装了的东西
rpm -qa |grep -i mysql
yum remove XXX(上面查到的结果)
1.2 删除mysql相关目录
find / -name mysql
rm -rf XXX(上面查到的结果)
1.3 删除/etc/my.cnf
rm -rf /etc/my.cnf
1.3 删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,会出现无法登陆的情况)
rm -rf /var/log/mysqld.log
二、安装mysql5.7(centos7)
2.1 下载yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.2 安装yum源
yum localinstall mysql57-community-release-el7-11.noarch.rpm
2.3 检查 mysql 源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
2.4 安装
yum install -y mysql-community-server
2.5 启动
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld
2.6 修改登录密码
grep 'temporary password' /var/log/mysqld.log (初始密码)
登录mysql后: ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';
2.7 允许远程访问(学习才开启)
use mysql;
UPDATE user SET Host='%' WHERE User='root';
flush privileges;
三、主从配置
3.1 主从数据库创建两个数据库:
CREATE DATABASE `cool` CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `cool2` CHARACTER SET utf8 COLLATE utf8_general_ci;
3.2 主数据库配置
vim /etc/my.cnf
#server-id给数据库服务的唯一标识
server-id=1
#
##log-bin设置此参数表示启用binlog功能,并指定路径名称
log-bin=/var/lib/mysql/mysql-bin
sync_binlog=0
##设置日志的过期天数
expire_logs_days=7
binlog-do-db=cool
binlog-do-db=cool2
binlog-ignore-db=information_schema
binlog-ignore-db=sys
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
重启生效
赋予从库FILE、REPLICATION SLAVE权限
grant FILE on *.* to 'root'@'192.168.1.129' identified by 'Root@123456';
grant replication slave on *.* to 'root'@'192.168.1.129' identified by 'Root@123456';
flush privileges;
重启主库,查看主库信息:
show master status;
3.3 从库配置
vim /etc/my.cnf
log-bin=mysql-bin
server-id=3
binlog-ignore-db=information_schema
binlog-ignore-db=sys
binlog-ignore-db=mysql
replicate-do-db=cool
replicate-do-db=cool2
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60
server-id需要不同
重启mysql并进入操作
stop slave;
change master to master_host='192.168.0.197',master_user='root',master_password='Root@123456',master_log_file='mysql-bin.000004', master_log_pos=154;
start slave;
其中master_log_file、master_log_pos是查看主库状态返回的信息,重新配置另外一个从库时需要重新获取配置
查看状态
show slave status \G
4.出错清理掉之前的配置,防止同步已经同步了的数据,执行以下命令:
mysql> stop slave;
mysql> reset slave all;
使用这两个命令后,需要重新配置主从