




























Summary: in this tutorial, you will learn step-by-step how to install MySQL 8 on CentOS 7.
To install MySQL 8 on CentOS 7, you follow these steps:
Add the official MySQL repository to your system’s package manager (yum)
sudo rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
Code language: JavaScript (javascript)
sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql
Code language: JavaScript (javascript)
Install the MySQL 8 Community Server package using the following command:
sudo yum install mysql-server
Start the MySQL service and enable it to run at boot with:
sudo systemctl start mysqld
sudo systemctl enable mysqld
When you install MySQL 8.0, the root user account is granted a temporary password. To show the password of the root user account, you use the following command:
sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'
Code language: JavaScript (javascript)
Here is the output:
Kq%<ul_0M*O0
Note that your temporary password will be different. You will need this password to change the password of the root user account.
Execute the command mysql_secure_installation to secure the MySQL server:
mysql_secure_installation
It will prompt you for the current password of the root account:
Enter password for user root:
Enter the temporary password above and press Enter. The following message will show:
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
Code language: PHP (php)
You will need to enter the new password for the root‘s account twice. It will prompt some questions, it is recommended to type yes (y):
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Use this command to connect to the MySQL server:
mysql -u root -p
It will prompt you for the password of the root user. You type the password and press Enter:
Enter password:
It will show the mysql command:
mysql>
Use the SHOW DATABASES to display all databases in the current server:
mysql> show databases;
Code language: SQL (Structured Query Language) (sql)
Here is the output:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.05 sec)
Code language: JavaScript (javascript)
In this tutorial, you have learned step-by-step how to install MySQL 8 on CentOS 7.
本文将指导您如何安全地配置MySQL root账号以允许远程访问,并提供最佳实践建议。
首先需要确保MySQL服务监听所有网络接口,而不仅仅是本地回环地址。
编辑MySQL配置文件(通常位于/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf):
[mysqld]
bind-address = 0.0.0.0 # 改为监听所有网络接口
登录MySQL并执行以下命令:
sudo systemctl restart mysql
如果服务器启用了防火墙,需要开放MySQL端口(默认3306):
<div class="warning"> <strong>安全警告:</strong>允许root账号远程访问会带来安全风险,请考虑以下建议 </div>
使用强密码:确保root密码足够复杂
限制访问源IP:只允许特定IP地址访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' WITH GRANT OPTION;
考虑使用SSH隧道:替代直接远程连接
定期审查访问日志:监控异常连接尝试
使用非标准端口:考虑更改MySQL默认端口
使用以下命令测试远程连接:
mysql -h [服务器IP] -u root -p
考虑创建具有必要权限的专用用户,而非直接使用root账号:
CREATE USER 'admin'@'%' IDENTIFIED BY 'strong_password';
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'admin'@'%';
允许MySQL root账号远程访问应谨慎实施。务必采取适当的安全措施,并考虑使用专用管理账户而非root账户进行远程管理。
记得在完成配置后验证设置是否正确,并测试连接是否正常工作。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。