准备安装 MySQL 时,请决定使用哪个版本和分发格式(二进制或源代码)。

 选择要安装的 MySQL 版本后,决定为您的操作系统安装哪种发行版格式。对于大多数用例,二进制发行版是正确的选择。二进制发行版以本机格式适用于许多平台,例如适用于 Linux 的 RPM 软件包或适用于 macOS 的 DMG 软件包。发行版还提供更通用的格式,例如 Zip 存档或压缩的tar文件。在 Windows 上,您可以使用 MSI 来安装二进制发行版。

在某些情况下,最好从源发行版安装 MySQL:

想要将 MySQL 安装在某个明确的位置。标准二进制发行版可以在任何安装位置运行,但可能需要更大的灵活性来将 MySQL 组件放置在想要的位置。

安装环境

  • 系统环境 Centos7.8
  • mysql 版本:(mysql80-community-release-el7-11.noarch.rpm) 官方下载地址

安装步骤

  • 安装系统下载的 RPM,
yum localinstall mysql80-community-release-el7-11.noarch.rpm

这个安装命令将 MySQL Yum 存储库添加到系统的存储库列表中,并下载 GnuPG 密钥以检查软件包的完整性。

  • 安装mysql
    • 使用 MySQL Yum 存储库时,默认选择安装最新的 bugfix 系列
 sudo yum install mysql-community-server

这个命令将安装 MySQL 服务器的软件包 ( mysql-community-server) 以及运行服务器所需的组件的软件包,包括客户端的软件包 ( mysql-community-client)、客户端和服务器的常见错误消息和字符集 ( mysql-community-common) 以及共享客户端库 ( mysql-community-libs) 。

  • 如果不想安装最新版本,要安装最新 bugfix 系列以外的特定系列的最新版本,请在运行安装命令之前禁用最新 bugfix 系列的 bug 子存储库并启用特定系列的子存储库。如果平台支持 yum-config-manager或dnf config-manager命令,通过发出以下命令来禁用 8.0 系列的子存储库并启用创新轨道的子存储库:
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql-innovation-community

启动 MySQL 服务器

systemctl start mysqld
#查看服务状态
systemctl status mysqld

在服务器初始启动时,假设服务器的数据目录为空,则会发生以下情况:

  • 服务器已初始化。
  • SSL证书和密钥文件在数据目录中生成。
  • validate_password 已安装并启用。

超级用户帐户’root’@'localhost已创建。设置超级用户的密码并将其存储在错误日志文件中。要显示它,请使用以下命令:

grep 'temporary password' /var/log/mysqld.log
# 使用生成的临时密码登录并为超级用户帐户设置自定义密码,尽快更改 root 密码:假定新密码为xxxx
$> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'xxxx';

validate_password 默认安装。实施的默认密码策略validate_password要求密码至少包含1个大写字母、1个小写字母、1个数字和1个特殊字符,并且密码总长度至少为8个字符

允许外部访问

MySQL默认情况下不允许外网访问,如果需要允许外网访问,用户需要进行以下配置操作。
1、编辑:/etc/mysql/my.cnf找到 bind-address =127.0.0.1 将其改为bind-address =0.0.0.0或者本地内网网段

重启mysql:systemctl restart mysqld

2、登录mysql数据库

mysql -u root -p

mysql> use mysql;

# 查询host值:

mysql> select user,host from user;

# 如果没有"%"这个host值,就执行下面这两句:

mysql> update user set host='%' where user='root';

mysql> flush privileges;

# 或者也可以执行:

mysql>grand all privileges on . to root@'%' identifies by ' xxxx';

这样就允许外部环境使用root访问
如果我们想让IP为192.168.1.3的主机以用户myuser和密码xxxx连接到mysql服务器,命令如下:

mysql> GRANT ALL PRIVILEGES ON . TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'xxxx' WITH GRANT OPTION;

mysql> flush privileges;
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐