mysql_secure_installation 安全安装(用于生产环境设置)

本文介绍MySQL5.6在生产环境中如何通过mysql_secure_installation命令进行安全性设置,包括设置root密码、移除匿名用户、禁止root远程登录、删除test数据库等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译安装完mysql5.6,如果用于生产环境,最好执行mysql_secure_installation来做一些常规化安全设置。

 

需要提前将~mysql/bin加入环境变量

 

/apps/mysql//bin/mysql_secure_installation

 

------------->

复制代码
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current

password for the root user.  If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none): 
复制代码

 提示输入密码,没有密码就直接回车

 

 

复制代码
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

 

Set root password? [Y/n] 
复制代码

 提示设置root user密码  Y

 

 

复制代码
New password: 

Re-enter new password: 

Password updated successfully!

Reloading privilege tables..

 ... Success!

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? [Y/n] 
复制代码

 生产环境建议删除系统创建的匿名用户  Y

 

复制代码
 ... 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? [Y/n] 
复制代码

 禁止root用户远程登录  Y

 

复制代码
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? [Y/n] 
复制代码

 删除test数据库  Y

 

复制代码
 - 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? [Y/n] 
复制代码

 重载权限表  Y

 

复制代码
 ... Success!

All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

Cleaning up...
复制代码

 完成~~~

 

完成后空密码已经无法登录

# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

 

mysql> select user,host from mysql.user;
+-------+-----------+
| user | host |
+-------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
+-------+-----------+
4 rows in set (0.01 sec)

 

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

转载于:https://www.cnblogs.com/yxr2005503/p/9283482.html

<think>好的,我现在需要帮助用户了解如何在运行mysql_secure_installation设置或修改root密码。首先,我需要回顾一下用户提供的引用内容,确保信息准确。根据引用[1]、[3]、[4]提到,mysql_secure_installation用于安全设置的工具,包括密码重置。用户可能是在安装MySQL或MariaDB后需要进行初始密码设置,或者在已有系统上修改密码。 首先,我需要确认正确的步骤。根据引用[2],用户需要打开终端并执行sudo mysql_secure_installation,然后输入当前密码。但如果是初次安装,可能没有设置过密码,这时候可能需要留空直接按回车,或者查看临时密码的位置。但根据引用[4],安装mysql-server后会提示运行mysql_secure_installation,这时候可能初始密码为空,或者系统生成临时密码,这取决于安装方式。例如,在Ubuntu上,有时安装后会自动生成一个临时密码,存储在日志文件中,用户需要查看才能登录。但用户的问题是关于在运行mysql_secure_installation过程中修改密码,所以可能更关注该工具本身的步骤。 接下来,根据引用[3],使用该工具时可以选择重置root密码。所以步骤可能包括运行命令后,工具会提示是否设置密码插件,然后要求输入新密码并确认。同时,可能还有其他安全设置,比如删除匿名用户、禁止远程root登录等,但这些不是用户当前的问题重点。 需要注意的是,如果用户已经有一个密码,但忘记了,可能需要先停止MySQL服务,以跳过权限检查的方式启动,然后修改密码,但这种情况可能不在mysql_secure_installation的常规流程中。用户的问题可能是在正常流程中如何修改,而不是恢复密码。 现在,我需要整理出步骤:首先运行命令,然后根据提示操作,特别是设置密码的部分。可能需要区分两种情况:首次设置密码和修改已有密码。但根据工具的设计,无论是否有现有密码,运行该工具都会提示修改root密码。例如,在运行后,会询问是否更改root密码,选择是,然后输入新密码两次。 另外,用户可能遇到的常见问题是在运行过程中无法正确设置密码,如引用[1]提到的问题,可能需要在执行前停止服务或使用其他方法,但常规情况下应该按照提示操作即可。 总结步骤应该是: 1. 执行sudo mysql_secure_installation 2. 输入当前密码(若已设置,否则可能留空) 3. 根据提示选择是否修改密码 4. 输入新密码并确认 5. 完成其他安全设置 需要确保这些步骤与提供的引用一致,并且正确无误。同时,提醒用户注意密码强度以及安全选项的设置。</think>以下是使用`mysql_secure_installation`设置或修改MySQL/MariaDB root密码的详细教程: ### 操作步骤 1. **启动工具** 在终端执行命令: ```bash sudo mysql_secure_installation ``` 若系统提示输入当前root密码,首次安装设置密码时可直接按回车键[^4]。 2. **密码验证插件设置(可选)** 工具会询问是否启用密码强度验证插件: ``` Would you like to setup VALIDATE PASSWORD component? (Y/n) ``` - 输入`Y`启用密码复杂度检查(要求密码包含大小写字母、数字和符号) - 输入`n`跳过(允许简单密码) 3. **设置新密码** 根据提示输入新密码并确认: ``` New password: Re-enter new password: ``` 若启用密码验证插件,需满足其复杂度要求[^3]。 4. **后续安全配置** 按需选择以下选项(建议全部选`Y`): ``` Remove anonymous users? (Y/n) Disallow root login remotely? (Y/n) Remove test database? (Y/n) Reload privilege tables now? (Y/n) ``` ### 特殊情况处理 - **忘记旧密码**:需先停止MySQL服务,以`--skip-grant-tables`模式启动后重置密码,再运行本工具[^1]。 - **无权限访问**:确保命令前添加`sudo`或以root用户执行[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值