最近在自己的电脑上安装了VMware 虚拟机,linux 系统选择的Centos 7 ,最小安装,需要先安装 yum 包管理工具 (博客地址)
,再安装 wget 下载工具(地址)
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB
从MySQL 官网下载适合的rpm 安装包,我要安装的是linux Centos 7 的版本。
MySQL 官网下载地址 https://dev.mysql.com/downloads/repo/yum/
wget http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
yum install mysql80-community-release-el7-7.noarch.rpm
yum install mysql-community-server
需要等待一会,期间提示,一路 输入 y ,最终:
安装成功!
systemctl start mysqld
查看运行状态
systemctl status mysqld
默认超级用户:‘root’@‘localhost’
密码获取:
grep 'temporary password' /var/log/mysqld.log
登陆方法:
mysql -uroot -p
alter user 'root'@'localhost' IDENTIFIED BY 'Dechnic@2022';
注意:
密码至少要有一个大写字母,一个小写字母,一个数字,一个特殊符号,并且长度至少为八位。IDENTIFIED BY 必须大写
可选)安装其它组件
MySQL Connectors 在名为 mysql-connectors-community 的软件仓库里,
MySQL Workbench 在名为 mysql-tools-community 的软件仓库里。
这些仓库默认是启用的,可以直接使用 yum 安装。例如安装 MySQL Workbench:
yum install mysql-workbench-community
帮助文档
该方法是最推荐的安装方法。
三种下载方法:
从官方下载网站下载:https://dev.mysql.com/downloads/mysql/
从官方的软件仓库下载:http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/
从镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-x86_64/(清华镜像)
RPM bundle 包含所有的文件。如果你只想实现基本的 MySQL 功能,进行最小安装,那需要下载:
mysql-community-server(服务端)
mysql-community-client(客户端)
mysql-community-client-plugins
mysql-community-common(错误消息、字符集等)
mysql-community-libs (客户端库文件)
mysql-community-libs-compat
安装 MySQL
将上述所有的 RPM 包上传到 Linux 服务器,放到同一个文件夹内,进入该文件夹,执行:
yum install mysql-community-{server,client,common,libs}-*
可以使用 rmp -Uvh 代替 yum,但不建议这么做,因为除了刚才下载的那些文件,MySQL 还有很多其它依赖的软件包,使用 rmp -Uvh 很可能导致安装失败。
后面的步骤同方法一。
在 mysql 数据库的 user 表中查看当前 root 用户的相关信息
select host, user, authentication_string, plugin from user;
可以看到root用户的host默认为localhost,只允许本地访问,不允许远程连接,新创建一个用户用于远程连接
新建用户
create user 'root'@'%' IDENTIFIED BY 'Dechnic@2022';
alter user 'root'@'%' IDENTIFIED WITH mysql_native_password BY
'Dechnic@2022';
修改后可以执行select host,user,plugin from user;语句,查看新增用户的plugin是否是"mysql_native_password"
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
flush privileges;
查看防火墙状态:
systemctl status firewalld
备注:操作防火墙常用命令
开启或关闭防火墙命令
开启命令:systemctl start firewalld
临时关闭命令:systemctl stop firewalld
永久关闭命令:systemctl disable firewalld
查看防火墙端口列表:firewall-cmd --zone=public --list-ports
查看获取墙列表:
为空
添加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent