MySQL 是一个免费的开源数据库管理系统, 常用于 web 应用程序中, 用于存储和检索记录和信息.
MySQL 最初由 MySQL AB 开发, 现在由 Oracle Corporation 拥有. 它是 Linux 操作系统的主要数据库应用程序, 直到 MySQL 的一个分支 MariaDB 才出现.
在本文中, 我们将讨论如何在 CentOS 7/6,RHEL 7/6 和 Fedora 28/27/26 上安装 MySQL 8.0 的基本过程.
添加 MySQL 存储库
MySQL 不再通过基本操作系统映像分发或在 OS 存储库中可用. 因此, 您需要添加 MySQL 的官方存储库来安装 MySQL 社区服务器.
- ### CentOS 7 / RHEL 7 ###
- rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- ### CentOS 6 / RHEL 6 ###
- rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm
- ### Fedora 28 ###
- rpm -ivh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm
- ### Fedora 27 ###
- rpm -ivh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm
- ### Fedora 26 ###
- rpm -ivh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm
确保使用以下命令添加并启用了 MySQL 存储库.
yum repolist all | grep MySQL | grep enabled
输出: 可能看起来像.
- MySQL-connectors-community/x86_64 MySQL Connectors Community enabled: 51
- MySQL-tools-community/x86_64 MySQL Tools Community enabled: 63
- mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 17
安装 MySQL Community Server
Oracle 目前提供稳定版本 (v8.0 和 v5.7). 您可以选择要在计算机上安装的那个.
安装 MySQL 8.0
在 CentOS/RHEL 中使用 yum 命令, 在 Fedora 中使用 dnf 命令安装最新的稳定版 MySQL.
- ### CentOS 7/6 & RHEL 7/6 ###
- yum -y install MySQL-community-server
- ### Fedora 28/27/26 ###
- dnf -y install MySQL-community-server
安装 MySQL 5.7
如果您想尝试旧版本的 MySQL, 请在您的计算机上安装 MySQL 5.7.
- ### CentOS 7/6 & RHEL 7/6 ###
- yum -y install MySQL-community-server --disablerepo=mysql80-community --enablerepo=mysql57-community
- ### Fedora 28/27/26 ###
- dnf -y install MySQL-community-server --disablerepo=mysql80-community --enablerepo=mysql57-community
启动 MySQL 服务
安装 MySQL 后, 可以使用以下命令启动 MySQL 服务器.
- ### CentOS 7 / RHEL 7 / Fedora 28/27/26 ###
- systemctl start mysqld
- ### CentOS 6 / RHEL 6 ###
- service mysqld start
在系统启动时启用 MySQL 服务器.
- ### CentOS 7 / RHEL 7 / Fedora 28/27/26 ###
- systemctl enable mysqld
- ### CentOS 6 / RHEL 6 ###
- chkconfig mysqld on
使用以下命令验证是否已启动 MySQL 服务器.
- ### CentOS 7 / RHEL 7 / Fedora 28/27/26 ###
- systemctl status mysqld
- ### CentOS 6 / RHEL 6 ###
- service mysqld status
输出:
CentOS 7 / RHEL 7 / Fedora:
● mysqld.service - MySQL Server
- Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
- Active: active (running) since Fri 2018-12-04 19:19:36 EDT; 21s ago
- Docs: man:mysqld(8)
- http://dev.mysql.com/doc/refman/en/using-systemd.html
- Main PID: 8452 (mysqld)
- Status: "SERVER_OPERATING"
- CGroup: /system.slice/mysqld.service
└─8452 /usr/sbin/mysqld
- Dec 04 19:19:23 server.itzgeek.local systemd[1]: Starting MySQL Server...
- Dec 04 19:19:36 server.itzgeek.local systemd[1]: Started MySQL Server.
- CentOS 6 / RHEL 6 :
- mysqld (pid 2258) is running...
MySQL 服务器安全设置
在 CentOS/RHEL/Fedora 中, 可以在 / var/log/mysqld.log 中找到初始的 MySQL root 密码. 您可以使用以下命令从日志文件中获取密码.
cat /var/log/mysqld.log | grep -i 'temporary password'
输出:
2017-11-25T07:02:29.549979Z 1 [Note] A temporary password is generated for root@localhost: Ed*Sn(6R9q0h
现在, 您需要运行 mysql_secure_installation 来保护 MySQL 安装. 此命令负责设置 root 密码, 删除匿名用户, 远程禁止 root 登录等.
mysql_secure_installation
输出:
- Securing the MySQL server deployment.
- Enter password for user root: <== Enter Root password taken from previous step
- The existing password for the user account root has expired. Please set a new password.
- New password: <== Enter New Root Password
- Re-enter new password: <== Re-Enter New Root Password
- VALIDATE PASSWORD PLUGIN can be used to test passwords
- and improve security. It checks the strength of password
- and allows the users to set only those passwords which are
- secure enough. Would you like to setup VALIDATE PASSWORD plugin?
- Press y|Y for Yes, any other key for No: No <== Already high secure enough
- Using existing password for root.
- Change the password for root ? ((Press y|Y for Yes, any other key for No) : no <== Since the password is already changed in previous step, type no.
- ... skipping.
- By default, a MySQL installation has an anonymous user,
- allowing anyone to log into MySQL without having to have
- a user account created for them. This is intended only for
- testing, and to make the installation go a bit smoother.
- You should remove them before moving into a production
- environment.
- Remove anonymous users? (Press y|Y for Yes, any other key for No) : yes <== Remove Anonymous user
- Success.
- Normally, root should only be allowed to connect from
- 'localhost'. This ensures that someone cannot guess at
- the root password from the network.
- Disallow root login remotely? (Press y|Y for Yes, any other key for No) : yes <== Disable remote root login
- Success.
- By default, MySQL comes with a database named 'test' that
- anyone can access. This is also intended only for testing,
- and should be removed before moving into a production
- environment.
- Remove test database and access to it? (Press y|Y for Yes, any other key for No) : yes <== Remove test database
- - Dropping test database...
- Success.
- - Removing privileges on test database...
- Success.
- Reloading the privilege tables will ensure that all changes
- made so far will take effect immediately.
- Reload privilege tables now? (Press y|Y for Yes, any other key for No) : yes <== Reload Privilege
- Success.
- All done!
使用 MySQL 服务器
使用 root 用户及其密码登录 MySQL 服务器.
MySQL -u root -p
输出:
- MySQL 8.0:
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 12
- Server version: 8.0.11 MySQL Community Server - GPL
- Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- MySQL>
- MySQL 5.7:
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 5
- Server version: 5.7.22 MySQL Community Server (GPL)
- Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- MySQL>
安装 phpMyAdmin
phpMyAdmin 是一个基于 Web 的开源管理工具, 用于管理 MySQL 和 MariaDB 数据库. 按照以下链接, 根据您的操作系统安装和配置 phpMyAdmin.
在 Fedora 27/Fedora 26/25/24 上安装 phpMyAdmin 见 https://www.linuxidc.com/Linux/2018-12/155691.htm
如何在 CentOS 7/RHEL 7 上安装 phpMyAdmin 见 https://www.linuxidc.com/Linux/2018-12/155690.htm
来源: http://www.linuxidc.com/Linux/2018-12/155689.htm