在Linux下安装mysql80 搭建主从

mysql官网安装步骤

1.下载 MySQL Yum Repository https://dev.mysql.com/downloads/repo/yum/

mysql80-community-release-el7-3.noarch.rpm

2.上传到Linux下的 /opt 目录, 进入到 /opt下

yum install mysql80-community-release-el7-3.noarch.rpm

3.执行命令

yum install mysql-community-server

4.启动mysql服务并且查看状态

systemctl start mysqld
systemctl status mysqld

5.查看mysql安装的临时密码

grep 'temporary password' /var/log/mysqld.log

6.使用临时密码登录mysql,并且修改密码

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

7.刷新权限

flush privileges;

8.退出用新密码重新登录

exit;
mysql -u root -p

9.创建一个用户并且设置密码,因为Navicat连接数据库使用的时候旧的密码加密方式,所以我们这里设置密码的时候使用旧的加密方式 mysql_native_password

create user 'user'@'%' identified with mysql_native_password by 'MyNewPass4!';

10.给用户授权

grant all on *.* to 'user'@'%';

11.刷新权限

flush privileges;

12.Navicat登录成功!

搭建主从

  1. 编辑MySql主上的/etc/my.cnf,
log-bin=imooc_mysql
server-id=1
  • log-bin: Mysql的bin-log的名字
  • server-id:Mysql实例中全局唯一,并且大于0.

2.编辑Mysql从上的/etc/my.cnf

server-id=2
  • server-id: Mysql实例中全局唯一,并且大于0。与主上的server-id 分开。

3.在Mysql主上创建用于备份账号

mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

4.Mysql主上加锁,组织所有的写入操作

FLUSH TABLES WITH READ LOCK;

5.Mysql主上,查看bin-log的文件名和位置

SHOW MASTER STATUS;

6.Mysql主上dump所有数据。

mysqldump --all-databases --master-data > dbdump.db -uroot -p

7.Mysql主进行解锁,解锁后,主上可以写入操作。

mysql> UNLOCK TABLES;

8.Mysql从上导入之前备份的dump数据。

mysql < dbdump.db -uroot -p

9.Mysql从上配置主从连接信息。

mysql> CHANGE MASTER TO
	-> MASTER_HOST='master_host_name', 	
	-> MASTER_PORT=port_num,
	-> GET_MASTER_PUBLIC_KEY=1,
	-> MASTER_USER='replication_user_name', 
	-> MASTER_PASSWORD='replication_password', 			        
	-> MASTER_LOG_FILE='recorded_log_file_name',			   
    -> MASTER_LOG_POS=recorded_log_position;
  • master_host_name : MySQL主的地址
  • port_num : MySQL主的端口(数字型)
  • GET_MASTER_PUBLIC_KEY: Mysql默认使用插件caching_sha2_password,有些client连接报这个错误,需要拿到server的public key来加密password。
  • replication_user_name : 备份账户的用户名
  • replication_password : 备份账户的密码
  • recorded_log_file_name :bin-log的文件名
  • recorded_log_position : bin-log的位置(数字型)
  • bin-log的文件名和位置 是 步骤5中的show master status 得到的。

10.Mysql从上开启同步

mysql> START SLAVE;

查看Mysql的从状态

show slave status;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值