本文概述
本文介绍基于VMware软件下Centos7虚拟机进行MySQL下载、安装,以及如何使用Navicat远程连接到虚拟机服务器。本文内容是在Mac系统下操作完成,Wins系统内容基本一致,可以借鉴。本文分为上下两篇,上篇介绍Centos相关配置,下篇介绍MySQL的具体安装、连接。
准备
- 虚拟机(上篇已配置完成)
- Mac (Windows均可)
- Transmit (Windows下可以用Xshell软件,只要能够远程ftp传输文件都可以)
- ssh远程命令(不是必须要有,可以直接在虚拟机终端输入)
MySQL的下载与安装
MySQL下载与传输
-
本文采用文件安装方式安装MySQL8.0,首先在MySQL官网[下载对应版本MySQL](https://downloads.mysql.com/archives/community/,系统选择
Red heat Linux 7 x86_64
,安装RPM Bundle
,本文默认安装MySQL8.0.25 -
安装完成后解压文件,之后传输到虚拟机上只需要这几个包
-
打开Transmit软件,其他能够把文件从本机传输到虚拟机的都可以。
在快速连接界面,输入虚拟机的IP地址,root用户及密码,远程路径选择/
-
连接完成后,找到
/opt
位置,把本机下载完成的MySQL解压包内容拖拽传输过去,至此完成了传输工作
MySQL的安装、卸载
- 打开虚拟机,首先检验是否已经安装过MySQL
终端输入指令:rpm -qa | grep -i mysql
,以及systemctl status mysqld.service
,如果出现以下情况说明没有安装
- 如果已经安装会出现如下情况
- 卸载
1 关闭mysql
systemctl stop mysqld.service
2 查看当前情况
rpm -qa | grep -i mysql或者um list installed | grep mysql
3 卸载上述命令查询的mysql
yum remove mysql-xxx mysql-xxx
4 删除相关文件
find / -name mysql
rm -rf xxx
rm -rf /etc/my.cnf
- 安装mysql
安装操作可以在虚拟机终端上进行,也可以用ssh远程操作
- 由于mysql安装过程中会在
/tmp
路径下新建文件,需要给予/tmp
文件权限,chmod -R 777 /tmp
- 检查依赖,输入
rpm -qa|grep libaio
和rpm -qa|grep net-tools
,这步基本没有问题 - 在mysql路径下依次执行下列命令(由于文件有依赖关系,必须按顺序执行)
cd /opt
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
在该步骤时候可能会失败,执行yum remove mysql-libs,删除mariadb依赖
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
最后一步等待时间较长,耐心等待
5. 输入指令mysql --version
和rpm -qa|grep -i mysql
,查看是否安装成功
MySQL的系统配置
本节包括初始化、状态查看、自启动管理,密码修改
1初始化
为保证数据库目录和文件所有者为mysql登陆用户,需要进行初始化。输入指令mysqld --initialize --user=mysql
,使用指令cat /var/log/mysqld.log
查看临时密码
2. 查看状态
查看mysql
systemctl status mysqld
关闭mysql
systemctl stop mysqld
开启mysql
systemctl start mysqld
重启mysql
systemctl restart mysqld
3.设置自启动
开启自启动:
systemctl enable mysqld.service
关闭自启动:
systemctl disable mysqld.service
查看自启动状态
systemctl list-unit-files|grep mysql
-
首次登陆及修改密码
输入命令mysql -hlocalhost -P3306 -uroot -p
或者mysql -uroot -p
,之后输入1中初始化后临时密码进入mysql,进入mysql后输入exit
或者quit
退出。
在mysql下输入指令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';
(xxx表示你的密码,注意这个分号也需要) -
至此,mysql的安装、运行已经完成,接下来介绍如何进行远程连接
Navicat 远程连接
mysql远程连接软件有很多,这里选择Navicat,其他软件也可以
- 防火墙设置
- 首先尝试打开Navicat,新建
mysql连接
,将主机改为虚拟机IP地址,输入root用户和密码, 测试连接,发现失败,这是因为没有关闭本机和虚拟机的防火墙或者开放3306端口 - 在本机打开
系统偏好设置-安全性和隐私
,找到防火墙
,在防火墙选项
将Navicat添加到允许连接, Wins下打开3306端口即可,这里不说明 - 在centos虚拟机中可以关闭防火墙或者设置端口开放
查看防火墙状态
systemctl status firewalled
关闭防火墙
systemctl stop firewalld
开启防火墙
systemctl start firewalld
关闭防火墙自启动
systemctl disable firewalld
开启防火墙自启动
systemctl enable firewalld
查看开放端口号
firewall-cmd --list-all
开放端口(重启防火墙后生效)
firewall-cmd --add-port=3306/tcp --permanent
重启防火墙
firewall-cmd --reload
- 修改权限
尽管防火墙设置已经完成,但是由于mysql默认root用户只能在localhost下登录,所以需要修改权限
- 登录mysql,输入以下指令,可以发现root的登录权限只限于hostlocal
use mysql;
select Host,User from user;
- 修改host为通配符%
通过如下指令修改权限,其中%表示xxx.xxx.xxx.下的所有客户端都可以连接,如果是个人使用也可以直接把xxx.xxx.xxx.%'改为%,表示所有客户端都可以访问。
update user set host = 'xxx.xxx.xxx.%' where User = 'root';
修改完成后使用flush privileges;
保存修改
- 重新登陆Navicat,测试连接,成功。
参考内容
尚硅谷MySQL视频