一、Linux安装Mysql数据库
1.检查Linux虚拟机上是否已经安装Mysql
rpm -qa | grep mysql
如果已经成功安装则会弹出以下内容,若未安装则为空

2.下载Mysql
前往官网 https://downloads.mysql.com/archives/community/ 选择符合你Linux发行版的Mysql包进行下载,我这里使用的是CentOS7,并且以8.0.26版本做示例

3.将下载好的Mysql压缩包上传至Shell并解压

在虚拟机上进入root用户,创建目录并解压
//进入root用户
su - root
//创建mysql文件夹
mkdir mysql
//解压Mysql文件并存放在C盘的mysql文件夹下
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C mysql
4.安装Mysql安装包
依次执行以下代码
cd mysql
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
此时执行到第四条代码时可能会出现依赖安装报错

解决方案
先卸载mysql-libs,再执行安装
//先卸载mysql-libs
yum remove mysql-libs
//再执行安装
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm
继续执行其他代码
rpm -ivh mysql-community-libs-compat-8.0.26-1.el7.x86_64.rpm
//安装devel依赖
yum install openssl-devel
rpm -ivh mysql-community-devel-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm
安装完毕!
5.启动Mysql服务
在Linux当中Mysql安装完毕后会自动注册一个系统服务,服务名称为mysqld
//启动Mysql
systemctl start mysqld
//重启Mysql
systemctl restart mysqld
//关闭Mysql
systemctl stop mysqld
6.查询Mysql服务运行状态
service mysqld status

绿色active(running)即为成功启动,也可以执行下面的命令查看
ps -ef|grep mysql

可以看到Mysql服务正在运行
7.连接至Mysql
mysql -u root -p

发现需要我们输入密码,但是我们根本还没进行设置。事实上我们基于rpm进行安装mysql时没有指定root密码,那么rpm在进行安装的过程中会自动生成一个随机密码在它的日志文件当中
8.查询自动生成的root密码
grep 'temporary password' /var/log/mysqld.log

使用上述查询到的密码完成登录
9.修改root密码
Linux版本的mysql安装完成后会自动安装一个密码校验的插件,密码校验的默认规则为:密码长度必须达到八位,且区分字母大小写与符号。所以我们设置的密码要么满足该默认规则,要么就需要我们手动设置密码校验策略以及密码长度
在Mysql官方文档中可以看到密码校验变量介绍:


根据你的实际需要与想设置的密码,设置密码复杂度与密码长度。比如我这里想设置密码为"123456",那么它的复杂度为"0",长度为6
//设置密码复杂度
set global validate_password.policy = 0;
//设置密码长度
set global validate_password.length= 6;
设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
退出Mysql
exit
设置完毕!! 重新进行登录Mysql服务即可正常使用
二、客户端连接Mysql
因为在 ‘root’@‘localhost’ 代码中,当前root用户只能在localhost本机当中访问,我们是无法在windows系统当中的DataGrip连接上Linux系统的Mysql。如果想实现能在任意一台主机上进行访问,就要将’localhost’替换为’%’
1.创建用户专门用于远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
2.为该用户分配权限
grant all on *.* to 'root'@'%';
3.客户端连接至数据库
连接数据前需要先关闭Linux虚拟机的防火墙
①查看防火墙状态
systemctl status firewalld
若显示绿色字体或是 active 字样则是已开启防火墙

②禁用防火墙
//禁用防火墙
systemctl stop firewalld
//启用防火墙
systemctl start firewalld
输入禁用防火墙的命令后防火墙状态会变为 inactive(dead)

③使用客户端进行连接
主机ip地址需填写你的虚拟机地址,用户与密码则填写数据库的账号与密码


完成连接!! 可以开始使用Mysql数据库咯

2万+

被折叠的 条评论
为什么被折叠?



