本文介绍在Fedora 29、Fedora 28操作系统中安装并配置MySQL 8.0数据库的方法,适用Server或Workstation版本。如果有旧版本的MySQL(例如5.7版本),需要进行就地升级或转储所有数据,升级软件包并将所有数据重新导入到新的MySQL 8.0中。在RHEL 8中安装请参考在RHEL 8系统上安装MySQL 8.0的步骤。
29系统:
sudo dnf install https://repo.mysql.com//mysql80-community-release-fc29-1.noarch.rpm28系统
sudo dnf install https://repo.mysql.com//mysql80-community-release-fc28-1.noarch.rpm这会将存储库文件写入/etc/yum.repos.d/mysql-community.repo中。
添加存储库并确认启用后,通过运行以下命令继续将MySQL 8.0安装到Fedora 29系统中:
sudo dnf -y install mysql-community-server安装后,可以运行以下命令查看包信息:
dnf info mysql-community-server安装完成之后会有mysql Server的详细信息
在Fedora 29/Fedora 28系统中安装成功MySQL 8.0之后,需要进行初始配置以保护它。
1、启动并启用mysqld服务:
sudo systemctl start mysqld.service sudo systemctl enable mysqld.service2、复制root用户生成的随机密码:
grep 'A temporary password' /var/log/mysqld.log |tail -13、启动MySQL安全安装以更改root密码,远程禁用root登录,删除匿名用户并删除测试数据库:
mysql_secure_installation4、以root用户身份连接到MySQL数据库并创建测试数据库
mysql -u root -p创建测试数据库和用户:
mysql> CREATE DATABASE test_db; mysql> CREATE USER 'test_user'@'localhost' IDENTIFIED BY "Strong34S;#"; mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost'; mysql> FLUSH PRIVILEGES;可以通过运行以下命令删除此测试数据库和用户:
mysql> DROP DATABASE test_db; mysql> DROP USER 'test_user'@'localhost'; mysql> show databases; mysql> QUIT要允许远程连接,请允许防火墙上的端口3306:
sudo firewall-cmd --add-service=mysql --permanent sudo firewall-cmd --reload还可以限制来自相关网络的访问:
sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \ service name="mysql" source address="10.1.1.0/24" accept'