yum和rpm
首先我们需要知道linux中有两种安装软件的方式,分别是yum和rpm
yum:
必须要求联网,yum源安装软件的时候,如果一个软件依赖于另一个软件,都会一并安装。yum源安装本质上也是rpm安装,因为它是先将rpm 安装包下载下来之后,又使用命令给你安装了一遍而已。
rpm:
就好比是别人给了一个 exe 文件,只是我们的linux上是没有exe文件的,跟exe文件类似的是 rpm 安装包。
在这里我们演示的是rpm安装mysql。
卸载mariadb
首先我们要卸载mariadb。mariadb其实是mysql同父异母的亲兄弟,两者存在文件冲突、服务冲突、依赖冲突等,而且同时安装mariadb和mysql会使数据库的配置管理变得复杂。而且我们通常只需要一个数据库管理系统即可,所以需要卸载mariadb。
查找mariadb
我们先使用命令查找一下Linux中的mariadb
rpm -qa | grep mariadb
稍微解释一下,左边的rpm -qa是查找使用rpm方式下载的工具。'|'管道符是将左边查出的工具作为右边的输入,搜索出mariadb,如果没有找到说明你的linux上没有mariadb,也就不需要卸载了。
命令卸载mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
使用上面的命令就可以卸载掉mariadb,当然你的mariadb可能跟我的名称不同,使用查找出来的mariadb进行卸载即可。
安装MYSQL
首先我们需要将准备好的mysql压缩包拖入finalshell中,也可以使用命令上传到linux中,我这里就直接拖拽了。
解压压缩包,解压完后依次安装所需服务
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
yum install libaio
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
将所需服务安装完成后需要启动mysql服务
systemctl status mysqld 查看mysql的状态
systemctl start mysqld 这个是启动mysql
systemctl stop mysqld 关闭服务
使用MYSQL
查看默认密码
当服务启动之后,我们要使用mysql,但是我们不知道密码怎么办?
别慌,我们可以使用命令查看mysql生成的默认密码
grep password /var/log/mysqld.log 查看默认密码
冒号后面的全部都是密码哦,不要以为某个特殊符号不是,要全部复制后,在登录数据库。
进入mysql
mysql -uroot -p 敲回车
粘贴密码即可
不要在-p后面直接粘贴密码,有可能特殊字符会报错!
mysql生成的密码难记死了,我们登录上mysql第一件事肯定是修改密码。
但是mysql设置了密码校验规则,不可以设置简单的密码,但是我偏要设置简单的,因为我健忘,所以我就设置123456。先通过一下命令修改校验规则:
set global validate_password.policy=LOW; # 修改密码策略等级为LOW
set global validate_password.length=4; # 密码的最小长度
set global validate_password.mixed_case_count=0; # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password.number_count=0; # 设置密码中至少要包含0个数字
set global validate_password.special_char_count=0; # 设置密码中至少要包含0个特殊字符
当校验规则修改完成之后就可以修改密码啦:
alter user root@localhost identified by '123456';
注意:mysql8.0密码不能设置为root,否则报错!
远程连接
我们想要使用我们的图形化工具navicat来操作数据库i,怎么连接呢?
很简单,只需要输入一下命令:
create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;// 刷新权限,让其立即起作用。
但是使用navicat连接数据库可能会报错,如下
这时我们需要进入mysql输入以下命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
使用这个sql语句可以修复上面的错误!
exit退出后在连接就可以了~