本地开发与学习时,需要在虚拟机里的 CentOS 安装一个 MySQL 8。本文记录了当时的过程
安装 CentOS 7
下载 CenOS 镜像
本文使用的是阿里云镜像,使用以下地址下载
1  | https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso  | 
创建虚拟机
因为我的笔记本有 16G 内存,所以虚拟机的内存选择 2G
CPU 1 颗,2 个核心,并且开启虚拟化
网络适配器选择“桥接模式”,并且复制物理网络
其他的无用硬件,比如声卡、打印机全部去掉
安装过程
选择中文界面
使用自动分区
默认情况下 CentOS 是不会连接到网络的
所以要手动打开
SSH 连接上 CentOS 7
输入以下命令获取 IP 地址
1  | ip addr  | 
然后再用 mobaxterm 或者 xShell 进行 SSH 连接即可
安装 MySQL
关闭SELinux
SELINUX 是 Linux 2.6 以上版本捆绑的安全模块。由于 SELinux 配置复杂,容易跟其他程序冲突,所以建议关闭
打开 SELinux 的配置文件
1  | vi /etc/selinux/config  | 
将 SELinux 设置为禁用
1  | SELINUX=disabled  | 
重启系统
1  | reboot  | 
这样 SELinux 就关闭了
在线安装 MySQL
下载 rpm 文件
这个文件记录了 MySQL 依赖的各种程序包
1  | yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm  | 
安装 MySQL 数据库
1  | yum install mysql-community-server -y  | 
启动 MySQL
1  | service mysqld start  | 
查看 root 账户的临时密码
1  | grep 'temporary password' /var/log/mysqld.log  | 
重置 root 密码
首先登陆到 MySQL
1  | mysql -u root -p  | 
然后输入临时密码。接着更改密码
1  | alter user user() identified by 'Abcd_12356';  | 
允许 root 远程登陆 MySQL
允许远程使用 root 用户
1  | USE mysql;  | 
修改 /etc/my.cnf 文件
1  | character_set_server = utf8  | 
重启 MySQL
1  | service mysqld restart  | 
开启系统防火墙的 3306 端口
开启 3306 端口
1  | firewall-cmd --zone=public --add-port=3306/tcp --permanent  | 
重启防火墙
1  | firewall-cmd --reload  | 
总结
- CentOS 默认是不连接网络的,要手动开启
 - 善于使用 VMWare 虚拟机的快照功能,出错了可以快速恢复