虚拟机用的版本是VMware? Workstation 15 Pro
Linux用的是cetos7 在Windows下安装上述两软件还是比较简单,这里就不细说。虚拟机设置网卡按如下所设
虚拟机 -设置
编辑-虚拟网络编辑器
装好centos7系统后用root用户登录,密码是123456 输入ip add 电脑 查看网卡配置情况。
这里要注意的是我这个版本ifconfig命令是无效的,下面的是网卡配置,现在是没有IP地址,说明网卡未启动。
在这种情况下yum 命令是没有用的 需要先配置网卡 使用命令
vi /etc/sysconfig/network-scripts/ifcfg-ens33 由于默认vim没有安装,先使用vi,这里的字一个都不能错,否则里面什么也没有,正常情况下出现以下界面
这里我把它配置成固定ip地址 默认是自动获取的,按i 进入编辑模式
no改成yes 这个一定要改,否则看不到网卡把dhcp 改成static
后面加上如下几行
IPADDR=192.168.219.50 设置IP地址
NETMASK=255.255.255.0 设置子网掩码
GATEWAY=192.168.219.2 设置网关
DNS1=192.168.219.2 设置dns1
DNS2=8.8.8.8 设置dns2
按esc键进入命令模式 ,输入:wq 保存退出 或者:x也可保存
输入systemctl restart network 重启网络服务 在输入 ip add 查看网卡信息,此时已配置好了固定ip地址,如下图所示
由于是虚拟机上安装的系统,此时仍然不能上网 需要在Windows主机上开启VMware NAT service 开启方法此电脑右键-管理-服务和应用程序-服务 找到VMwareNAT service 开启即可
由于vim比vi好用,安装vim 使用yum -y install yum*
由于mysql软件没有在yum下面自带,需要安装yum仓库
分三步1.安装秘钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
2.安装yum库
rpm -Uvh http://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm
3.安装mysql8.0
yum -y install mysql-community-server
安装好后使用cat /var/log/mysql.log 查看初始密码
由于这个密码比较怪异容易出错,下面换种思路
跳过密码 vim /etc/my.cnf 加一行 skip-grant-tables 重启mysqld服务 systemctl restart mysqld
systemctl restart mysqld 修改配置后都要重启下mysqld服务
这样不用密码可以登录 输入 mysql -uroot -p
修改mysql登录密码,在mysql> 下
使用命令set password for root@localhost = 'ABCabc$123'; 如果不成功 输入flush privileges;
再执行set password for root@localhost = 'ABCabc$123';
分号不要忘了
这种密码就已经改成了ABCabc$123
用exit命令退出mysql 回到Linux界面
再次用vim /etc/my.cnf 把skip-grant-tables注释掉,前面加#即可,
systemctl restart mysqld 修改配置后都要重启下mysqld服务
这时需要密码才能登录 不输密码就报错,输入ABCABC$123就可以
由于用命令行不好用,用sqlyog这个客户端去连接
先要ping通这个虚拟机的ip地址 上面已设为192.168.219.50
在cetos下输入命令systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 关闭防火墙自启动
systemctl status firewalld 查看防火墙状态
此时已关闭防火墙
由于默认mysql只能locahost才能访问,为远程访问 需要在mysql数据库表的user表下的host字段改成所需主机,这里用%了
update user set host = ‘%’ where user = ‘root’; 改后如下
设置电脑主机的 vmnet8 的ip地址和cetos的ip同一网段,确保能ping 通 命令提示符最好用管理员身份运行
下面用sqlyog 电脑 去连接虚拟机上cetos7 的mysql8.0
新连接可以随便写,主机地址 192.168.219.50 用户名root
密码ABCabc$123
正常情况下这样已经可以了 ,但由于版本的问题。可能连接时会出现1251的错误,这时还需要在mysql上操作一步
alter user 'root'@'%' identified by 'ABCabc$123' passsword expire never;
alter user 'root'@'%' identified
with mysql_native_password by 'ABCabc$123';
flush privileges 电脑 ;