系统环境:VM虚拟机下的CentOS7
安装前准备
主机名
执行以下命令
vim /etc/hostname
按 i
进入编辑模式
修改预期的主机名,这里我将其修改为host16
修改完成后:按 esc
->按shift
+;
-> 输入wq
->按 enter
,即可保存成功
静态IP配置
查看网卡
确认VM虚拟机nat转换器的网段,点击编辑
->点击虚拟网络编辑器
点击NAT模式
查看子网地址,这里可以看到我的子网地址是192.168.146.0
在虚拟机中执行以下命令查看192.168.146.0
对应的网卡名
ifconfig
可以看出ens33
这个网卡对应该子网地址
输入以下命令编辑目标网卡的静态ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
这里我将100修改成了116,可以粘贴我的配置进行修改。
uuid随便修改一位就可以
修改完成后:按 esc
->按shift
+;
-> 输入wq
->按 enter
,即可保存成功
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1975bb5f-ce00-4861-99ff-aebcd67d0b12
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.146.116
PREFIX=24
GATEWAY=192.168.146.2
DNS1=114.114.114.114
关闭防火墙或开放端口
这里我选择了关闭防火墙,关闭防火墙或开放端口参考:防火墙相关文章
重启
输入命令重启虚拟机
reboot
使用MobaXterm_Personal连接虚拟机
这里也可以使用xshell等其他终端、也可以使用虚拟机的终端。
输入地址和账号后点击OK
输入密码,这里输入密码是不会显示的,慢一点不要输入错。输入完成后按enter就可以了
检查是否已经安装了MySQL
rpm -qa | grep -i mysql
为空就是没有安装过
检查是否存在mysql service
systemctl status mysqld.service
如下显示就是没有mysql service
卸载MySQL
关闭 mysql 服务
systemctl stop mysqld.service
查看当前 mysql 安装状况
rpm -qa | grep -i mysql
或
yum list installed | grep mysql
逐个卸载查询的的结果
yum remove mysql-xxx mysql-xxx mysql-xxx mysqk-xxxx
检查是否卸载完成
反复执行 rpm -qa | grep -i mysql 确认是否有卸载残留
删除 mysql 相关文件
find / -name mysql
删除上述命令查找出的相关文件
rm -rf xxx
删除mysql相关文件
执行以下命令
rm -rf /usr/share/mysql
rm -rf /usr/share/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
删除 my.cnf
rm -rf /etc/my.cnf
安装MySQL
下载安装包
新建一个安装包目录
mkdir -p /root/app/mysql8
cd /root/app/mysql8
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
ls
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
ls
解压出了很多rpm包
检查/tmp临时目录权限
由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以需要调高/tmp的操作权限。
ls -l /
我这里已经开启了
如果没有开启,执行以下命令授权
chmod -R 777 /tmp
安装依赖
已经安装了如下依赖也可以执行
yum install libaio net-tools -y
yum list installed | grep mysql
yum remove mysql-libs
卸载MariaDB
rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
rpm -qa | grep mariadb
按顺序安装
rpm -ivh mysql-community-common-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.30-1.el7.x86_64.rpm
检查是否安装成功
mysql --version
出现如下信息代表安装成功
初始化服务
数据库目录和文件的所有者应该为mysql用户,如果你是 root用户运行 mysql 服务,需要执行以下命令进行初始化
mysqld --initialize --user=mysql
–initialize 选项默认以“安全”模式初始化,会为 root 用户生成临时密码,登录后需要重新设置密码。
查看临时密码
cat /var/log/mysqld.log
启动MySQL
systemctl start mysqld.service
关闭MySQL
systemctl stop mysqld.service
重启MySQL
systemctl restart mysqld.service
查看运行状态MySQL
systemctl status mysqld.service
开机自启动MySQL
查看MySQL服务是否自启动
systemctl list-unit-files|grep mysqld.service
默认是enable
也就是开启了自启动
如不是enable
运行以下命令开启
systemctl enable mysqld.service
关闭自启动
systemctl disable mysqld.service
登录MySQL
登陆前确保已经启动了MySQL服务端
查看MySQL服务端状态
systemctl status mysqld.service
下图是没有启动服务端的状态
启动服务端
systemctl start mysqld.service
再次查看状态
systemctl status mysqld.service
如下状态就是启动了
首次登录
mysql -hlocalhost -P3306 -uroot -p
输入上面用cat /var/log/mysqld.log
命令查到的密码
这里粘贴后或输入后是不会显示的,慢一点不要输错,输入后按enter
这样就登录成功了
修改密码
因为初始化密码默认是过期的,所以操作数据库是会报错的
执行以下命令修改密码,密码需要复杂一些太简单会报错
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
设置远程登录
因为之前已经将防火墙关了,直接设置允许远程登陆就可以了,如果没有关闭防火墙或者开放端口点击防火墙相关文章设置一下
登录mysql后执行以下命令
use mysql;
select Host,User from user;
可以看到默认情况root
账户只允许本机登录
将Host
修改为通配符%
,既允许任何设备登录
update user set host = '%' where user ='root';
刷新配置
flush privileges;
Host指定了允许用户登录所使用的IP,比如user=root Host=192.168.146.2。这里的意思就是说root用户只能通过地址为192.168.146.2的客户端去登录。 user=root Host=localhost,表示只能通过本机客户端去访问。%是通配符,如果Host=192.168.146.%,只要是IP地址前缀为“192.168.146.”的客户端都可以登录。如果Host=%,表示所有IP都可以登录。
生产环境host设置为%,会存在安全问题,具体的设置根据实际情况评估
使用IDEA的database登录
如图按需配置
测试连接successful
即可点击ok
选择所有的数据库
评论区