linux中安装mysql8(rpm方式)与开启主从复制的步骤

由于我个人在学习这一章节时找资料十分头疼所以把一些心得汇总一下方便大家进行参考;

1.需要一台linux系统的虚拟机;

首先是下载mysql的一些文件

官方网址

 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/

 

根据自己的选择去下载需要的版本

 主要下载5个东西

 

 

这是8版本需要的东西5可能不一样我记得是不用plugins

 mysql-community-client-8.0.31-1.el7.x86_64.rpm

mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm

mysql-community-common-8.0.31-1.el7.x86_64.rpm

mysql-community-libs-8.0.31-1.el7.x86_64.rpm

mysql-community-server-8.0.31-1.el7.x86_64.rpm

在虚拟机上查看是否安装过mysql

rpm -qa | grep mysql

如果执行结果没有东西则表示没有安装过

在看一下是否安装了mariadb

rpm -qa | grep mariadb

如果有删除

rpm -e --nodeps mariadb-libs-版本号;

下载完毕后在finalshell的opt文件目录下新建mysql文件夹,右键鼠标点击上传,将文件上传到mysql文件夹中

执行命令(注意按顺序执行)

  1. rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm

  2. rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm

  3. rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm

  4. rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm

查看一下是否执行成功

rpm -qa | grep mysql

出现四个文件就是下载成功

安装第五个

rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm --force --nodeps

安装完毕后查看mysql版本

mysql --version

出现版本信息就是已经安装完毕了

然后就启动mysql服务(5和8有区别)

systemctl start mysqld.service;

在查看mysql服务状态

systemctl status mysqld.service;

获取临时密码

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

得到结果: A temporary password is generated for root@localhost: ******

*******就是你的密码(*****是一组字符本文用*代替)

登录mysql

sudo mysql -u root -p

输入临时密码(输入时不显示密码)回车

 成功

修改密码:

停止mysql服务

service mysql stop

2、修改配置文件,添加免密码登陆

vim /etc/my.cnf
在[mysqld]下面添加一行skip-grant-tables
增加:skip-grant-tables

3、重新启动mysql服务,并从新连接到数据库,记得不用输入密码了(上面已配置跳过认证的步骤)

service mysql start

执行命令:mysql -u root -p (不要输入密码,直接敲回车)

4、开始执行修改的指令

选择数据库mysql : use mysql;
将密码置空 update user set authentication_string = ‘’ where user = ‘root’;
退出 quit

5、再次编辑配置文件my.cnf 去除免密码登陆

修改mysql配置,删掉或注释掉步骤2中添加的语句 skip-grant-tables

6、重启服务

service mysql restart

7、修改密码,执行如下命令:

mysql -u root -p //提示输入密码时直接敲回车,刚刚已经将密码置空了

开始修改密码:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

密码比较繁琐建议大小写加数字加特殊字符

FLUSH PRIVILEGES;

密码修改完毕之后授权远程访问

grant all privileges on *.* to 'root'@'%' identified by '密码;(建议关闭linux防火墙或者放行端口号)

刷新授权

flush privileges;

在本地客户端连接就安装完毕了;

主从复制:

主要使用安装在linux的服务器和本地服务器

本人是linux为主本地为从

linux执行

vim /etc/my.cnf

在文件中加入

log-bin=mysql-bin
server-id=100
重启mysql服务,

 systemctl restart mysqld
登录mysql

创建新用户

CREATE USER Xiaohu IDENTIFIED WITH 'mysql_native_password' BY 'Xiaohu@123';

分配权限

GRANT REPLICATION SLAVE ON *.* TO Xiaohu;
 

查看master状态

 show master status
 

 然后就不要动了

找到mysql安装目录

C:\programData\mysql\mysqlserver8.0

下面有一个my.ini

如果没有就搜索一下

双击打开在[mysqld]下面面加上
server-id=101

windows+R输入cmd

输入MySQL -uroot -p

输入密码

输入此条语句 

change master to master_host='主机ip',master_user='用户名',master_password='密码',master_log_file='主机状态的file值',主机状态表的position值;

上调语句如果报错显示线程已经被开启可以先停止线程stop slave;

开启slave线程

 start slave;

主从复制就开启成功了;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制MySQL数据库常用的一种数据备份和读写分离方案。以下是MySQL主从复制步骤: 1. 确保主从服务器的MySQL版本一致,并且主从服务器之间可以互相访问。 2. 在主服务器上修改配置文件(my.cnf或my.ini),开启二进制日志(binary logging)。在配置文件添加以下配置: ``` server-id = 1 log_bin = /var/log/mysql/mysql-bin.log ``` server-id是主服务器的唯一标识,可以为任意整数,但每个服务器必须有不同的id。log_bin指定二进制日志文件的位置。 3. 重启主服务器以加载新的配置。 4. 在主服务器上创建用于复制的用户,并授予复制权限。例如,可以使用以下命令创建一个名为replication_user的用户: ```sql CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES; ``` 这将创建一个具有复制权限的用户,并刷新权限表。 5. 在从服务器上修改配置文件,开启复制功能。在配置文件添加以下配置: ``` server-id = 2 replicate-do-db = dbname ``` server-id是从服务器的唯一标识,与主服务器不同。replicate-do-db指定需要复制的数据库名,可以根据需要修改或省略。 6. 重启从服务器以加载新的配置。 7. 在从服务器上执行以下命令开始复制: ```sql CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.XXXXXX', MASTER_LOG_POS=XXX; START SLAVE; ``` 其,MASTER_HOST是主服务器的IP地址,MASTER_USER和MASTER_PASSWORD是在第4步创建的复制用户的用户名和密码。MASTER_LOG_FILE和MASTER_LOG_POS分别指定主服务器上要复制的位置。 8. 检查复制状态,可以使用以下命令: ```sql SHOW SLAVE STATUS\G ``` 检查结果的Slave_IO_Running和Slave_SQL_Running字段是否为"YES",如果是,则表示主从复制已成功启动。 这些步骤概述了MySQL主从复制的基本过程。根据具体情况和需求,可能需要进行进一步的配置和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值