由于我个人在学习这一章节时找资料十分头疼所以把一些心得汇总一下方便大家进行参考;
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文件夹中
执行命令(注意按顺序执行)
-
rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm
-
rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm
-
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;
主从复制就开启成功了;