(11)然后使用初始密码,登陆数据库,并且修改密码:
mysql -uroot -p ALTER USER 'root'@'localhost' IDENTIFIED BY 'LDCldc@123095;
(12)此时在创建一个可以用于给两一台centos连接的用户,默认的root用户只有本机才能连接:
// 创建连接用户 create user 'test'@'%' identified by 'LDCldc-2020'; // 并且把防火墙给关了,或者配置一下3306端口 systemctl stop firewalld.service; // 设置防火墙开机自动关闭 systemctl disable firewalld.service;
(13)测试:到这里就Mysql的安装教程就就讲完了,可以测试一下,两台centos是否可以ping通:
ping 192.168.163.156
我这里的两台机是可以互通的,Master:192.168.163.156,Slave:192.168.163.155,并且Slave使用下面的命令可以登陆到Master的Mysql:
mysql -u[user] -p[密码] -h[远程主机ip]
确保了这两项测试成功后,就可以进行下面的主从搭建了。
(14)我这里使用的使用两台centos 7的vmware的ip分别是192.168.163.155(Slave)和192.168.163.156(Master)作为测试,首先在192.168.163.156(Master)中创建一个测试库test:
// 创建测试库 create database test default character set utf8mb4 collate utf8mb4_general_ci; // 并且授权 grant all privileges on test.* to 'test'@'%';
(15)然后编辑Master中的my.cnf文件,此文件位于/etc/my.cnf,执行下面的sql,并添加下面的信息:
sudo vi /etc/my.cnf ==========以下是配置文件中的信息============= # 配置编码为utf8 character_set_server=utf8mb4 init_connect='SET NAMES utf8mb4' # 配置要给Slave同步的数据库 binlog-do-db=test # 不用给Slave同步的数据库,一般是Mysql自带的数据库就不用给Slave同步了 binlog-ignore-db=mysql binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-ignore-db=sys # 自动清理30天前的log文件 expire_logs_days=30 # 启用二进制日志 log-bin=mysql-bin # Master的id,这个要唯一,唯一是值,在主从中唯一 server-id=3
(16)配置完后重启Mysql服务,并查看Mysql的log_bin日志是否启动成功:
systemctl restart mysqld # 查看log_bin日志是否启动成功 show variables like '%log_bin%';
(17)接着查看Master的状态:
show master status;
这两个数据File和Position要记住,后面配置Slave的时候要使用到这两个数据。
(18)最后登陆Master的数据库,并创建一个用户用于同步数据:
create user 'backup'@'%' IDENTIFIED BY 'LDCldc-2020'; grant file on *.* to 'backup'@'%'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* to 'backup'@'%';
到这里Master的配置就配置完了,后面就进行Slave的配置。
(19)在Slave中同样要创建test数据库,并且授权给test用户:
# 创建同步数据的test数据库 create database test default character set utf8mb4 collate utf8mb4_general_ci; # 授权 grant all privileges on test.* to 'test'@'%';
(20)接着编辑Slave中my.cnf文件,同样是在/etc/my.cnf路径下,加入如下配置:
# 配置从服务器的ID,唯一的 server-id=4 #加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错。 read_only = 1 master_info_repository=TABLE relay_log_info_repository=TABLE
(21)并且重启Slave中的Mysql服务:
systemctl restart mysqld
(22)在Slave中添加Master的信息:
# master_host是Master的ip,master_log_file和master_log_pos就是配置之前查看Master状态时显示的File和Position信息 change master to master_host='192.168.163.156',master_port=3306,master_user='backup',master_password='LDCldc-2020',master_log_file='mysql-bin.000001',master_log_pos=1513;
(23)最后查看Slave的状态:
show slave status\G
熊猫追剧-在线视频网站-海量高清视频免费在线观看