虚拟机用的版本是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 mysql 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 ;