less /var/log/mysqld.log
# 会看到下面一段带密码的日志 “j*RKGWL*C5j<” 就是初始密码
2021-03-27T07:21:11.054103Z 1 [Note] A temporary password is generated for root@localhost: j*RKGWL*C5j<
7. 进入mysql修改密码和范围策略
# 用初始密码登录
mysql -uroot -p
# 设置密码长度为4,1234都为4,大于4的就具体长度
mysql> set global validate_password_length=1;
# 密码安全等级为低级
mysql> set global validate_password_policy=LOW;
# 修改root用户的密码为"root"
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# 这种root用户可以远程连接非只有本地
mysql> use mysql;
mysql>update user set Host = '%' where user = 'root';
# 使配置生效
mysql> flush privileges;
8. 关闭防火墙或者开放3306端口
systemctl stop firewalld
9. 主从配置
######### 主数据库配置
# 创建一个用来同步数据的账户并赋予权限
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'repl';
mysql> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%';
# 使配置生效
mysql> FLUSH PRIVILEGES;
# 修改配置文件 /etc/my.cnf
# binlog文件前缀
log_bin = mysql-bin
# 自定义ID
server_id = 10
# 重启服务
service mysqld restart
######### 备份数据库配置
# 修改配置 /etc/my.cnf
server_id = 20
log_bin = mysql-bin
log_slave_updates = 1
relay_log = mysql-relay-bin
# 重启服务
service mysqld restart
# 开启备份
mysql> stop slave;
mysql> change master to master_host='主数据库IP',master_user='repl',master_password='repl';
mysql> start slave;
######### 其它命令
# 常用错误处理
mysql> stop slave;
mysql> set GLOBAL sql_slave_skip_counter=1;
mysql> start slave;
# 查看binlog日志
mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
# 从指定日志指定位置开始同步
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1;
# 查看主状态
mysql> show master status \G
# 查看从状态
mysql> show slave status \G
# 重置binlog日志
mysql> reset master;
# 显示日志配置
mysql> show variables like ‘log_%‘;
#显示binlog日志列表
mysql> show master logs;
# 查看binlog日志内容,需要找到日志目录 /var/lib/mysql
mysqlbinlog mysql-bin.000001
10. 重新初始化
rm -rf /var/lib/mysql
rm -rf /var/log/mysql.log
service mysqld stop
service mysqld start
service mysqld status