centos7下Mysql安装及主从配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ab7253957/article/details/85234796

一、mysql安装(根据官方步骤https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

#查看可用的mysql包,如果没有进行第1、2步下载

yum repolist all | grep mysql

1.下载RPM包

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、安装RPM包,自行替换包名

rpm -Uvh mysql80-community-release-el6-n.noarch.rpm

安装RPM后使用  yum repolist all | grep mysql 查看可用的安装包,显示启动的为可安装包

3.禁用8.0,启用5.7

yum-config-manager --disable mysql80-community

yum-config-manager --enable mysql57-community

4.真正安装

yum install mysql-community-server

5.启动服务

systemctl start mysqld.service

查看状态

systemctl status mysqld.service

6.修改默认密码

执行 grep 'temporary password' /var/log/mysqld.log 打印默认密码

登陆mysql

shell> mysql -uroot -p

修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

Note(官方提示,大写+小写+数字+特殊字符 > 8个字符) 验证方式可以修改,见https://blog.csdn.net/kuluzs/article/details/51924374

MySQL's validate_password plugin is installed by default. This will require that passwords contain at least one upper case letter, one lower case letter, one digit, and one special character, and that the total password length is at least 8 characters.

二、主从配置,修改/etc/my.cnf文件

一定要在主库和从库先建好需要备份的数据库,否则不会备份,例:一定要存在slavetest(从库文件需要备份的库名)数据库

1.先创建一个主从备份用户

create user slave;

#赋权限和密码

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.214.%' IDENTIFIED BY 'slave';

2.Master配置(以下在master库操作)

#server-id给数据库服务的唯一标识,不能为0且不能重复
server-id=1
#log-bin设置此参数表示启用binlog功能,生成的日志文件以这个文件命名+后缀
log-bin=mysql-bin

配置完了重启数据库systemctl restart mysqld

mysql> show master status;

上图中File和Position两个参数在从库配置时需要用到,保存一下

2.Slave配置(以下在从库库操作)

#server-id不能重复

server-id=3
#要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名
replicate-do-db=slavetest
##要忽略的数据库
replicate-ignore-db=mysql
relay-log=mysqld-relay-bin

配置完了重启从库 systemctl restart mysqld

依次执行以下命令

mysql>stop slave;

mysql>change master to master_host='192.168.214.128', master_user='slave', master_password='slave', master_log_file='mysql-bin.000002', master_log_pos=8853;

mysql>start slave;

ps:master_host     主库IP

master_user      步骤1创建的用户

master_password    步骤1创建的用户的密码

master_log_file    步骤2使用show master status命令查询的参数,上文已提及到

master_log_pos  步骤2使用show master status命令查询的参数,上文已提及到

4.测试

#查看binlog是否开启

show global variables like '%log_bin';

#查看从机状态,注意看下图的两个状态,如果测试不成功,用下面这个命令查看错误

show slave status \G;

猜你喜欢

转载自blog.csdn.net/ab7253957/article/details/85234796