0
点赞
收藏
分享

微信扫一扫

如何在虚拟机中安装mysql数据库?

书坊尚 2022-01-06 阅读 170

安装前的准备

首先要准备好安装环境:
① 准备一台有IP地址的虚拟机
② 使用winscp把数据库安装包传到虚拟机中
安装包可自行去官网下载 mysql官网
在红色即为安装包
③ 进行mysql的安装

安装

1、安装依赖

mysql适用c语言写的,需要c语言环境,需要使用yum命令,此时虚拟机需要能够连接上外网
在这里插入图片描述
执行指令

yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio libaio-devel net-tools

在这里插入图片描述

2、检查mariadb

因为有些linux系统自带mariadb数据库会与mysql数据库起冲突,所以我们需要查看系统中是否有mariadb数据库,若存在,则需要删除它,执行第三步;若不存在,则直接跳到第四步即可。

rpm -qa 查看系统中已经安装的软件列表
ps -ef 查看系统中正在运行的软件列表

rpm -qa | grep mariadb

在这里插入图片描述
此处我需要执行第三步。

3、删除mariadb

yum -y remove mariadb-libs

在这里插入图片描述

4、解压并安装

tar -xf mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar

在这里插入图片描述
.rpm 都是tar包解压出来十个的安装包
在这里插入图片描述
此时可以用find命令查看一下当前系统中存在mysql的目录,只有两个
在这里插入图片描述
mysql解压后还需要进行安装

rpm安装包是由RedHat红帽公司发明的一个软件包格式,用rpm -ivh 软件包名 进行软件包的安装,依次执行以下命令

rpm -ivh mysql-community-common-5.7.31-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-5.7.31-1.el7.x86_64.rpm 
rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm 
rpm -ivh mysql-community-client-5.7.31-1.el7.x86_64.rpm 
rpm -ivh mysql-community-server-5.7.31-1.el7.x86_64.rpm

注: 在安装最后一个server包时,如果报错依赖检测失败

执行这条指令忽略依赖即可

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

注:Delta RPMs disabled because /usr/bin/applydeltarpm not installed

deltarpm没有安装,接下来我们安装即可,执行以下指令

yum provides '*/applydeltarpm'    #查看依赖包的位置
yum -y  install deltarpm             #安装命令

注:[Errno 14] curl#6 - “Could not resolve host: mirrors.ustc.edu.cn; Unknown error” 正在尝试其它镜像。

检查是否配置dns

vim /etc/sysconfig/network-scripts/ifcfg-ens33

配置DNS

DNS1=8.8.8.8
DNS2=114.114.114.144

执行完之后再执行find指令查看一下
在这里插入图片描述在这里插入图片描述

正确使用

1、启动mysql

mysql安装后,系统中会自动创建mysqld服务文件,目录为
/lib/systemd/system/mysqld.service

可以直接执行以下命令

systemctl start mysqld  //开启
systemctl status mysqld  //查看状态
systemctl stop mysqld  //停止
systemctl restart mysqld  //重启
systemctl disabled mysqld  //禁止开机自动启动
systemctl enable mysqld  //允许开机自动启动

这里启动mysql

systemctl start mysqld

在这里插入图片描述

2、搜索临时密码

mysql安装好后,会默认创建一个临时root密码

在/var/log/mysqld.log文件中
①进入编辑器

vi /var/log/mysqld.log
:/password

②用grep命令

grep "password" /var/log/mysqld.log

在这里插入图片描述
得到 临时密码: ?uc#N.Qul4qS 临时密码复杂不好记,为方便学习,需要修改

3、登录 输入密码

mysql -uroot -p

在这里插入图片描述

4、修改密码并设置权限

① 取消密码复杂度的验证 (MySQL要求密码中必须包含大小写字母数字和特殊字符)

set global validate_password_policy=0; 

② 取消密码的长度限制 (MySQL默认要求密码必须大于8位)

set global validate_password_length=1;

③ 修改root用户的密码为root

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

改完后此时mysql数据库的用户名和密码为 root root
此时可以退出mysql,再登录一下看看能否登录成功,显然登录成功了
退出mysql

exit;

在这里插入图片描述

5、给root用户授权可以远程登录

① ip地址可以互通
② 开放3306端口
针对这个问题的解决办法:
在这里插入图片描述
方法一:开放端口

	firewall-cmd --permanent --add-port=3306/tcp
	firewall-cmd --reload

方法二:关闭防火墙

	systemctl stop firewalld 关闭防火墙

③ 启动mysql没有监听3306端口

	 systemctl status mysql   
	 ps -ef | grep mysql
	systemctl start mysqld

④ 允许远程ip
mysql除了自己以外把其他任何ip地址都放入黑名单,不可信任

use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
//授予所有权限          所有仓库.表格   用户  所有ip地址      

‘root’@‘192.168.10.43’ root 用户 只能在这个ip地址登录
⑤ 刷新权限

flush privileges;

OK,现在可以远程登录了
在这里插入图片描述

举报

相关推荐

0 条评论