UBUNTU22.04 mariadb mariadb-server_10.6.7-2ubuntu1_all解决不需要用户名密码就可以登陆的问题,使其,必须用户名密码登陆,三种方案建议直接第三种方案

本文详细介绍了如何在Ubuntu上卸载和重新安装MariaDB,以及解决无需密码即可登录的问题。通过运行安全脚本进行配置,包括设置密码、删除匿名用户、禁用远程root登录和删除测试数据库等,以增强服务器的安全性。此外,还提供了在my.cnf文件中更改身份验证方式的方法,以及在密码设置无效时的解决策略。
摘要由CSDN通过智能技术生成

安装和卸载是补充知识点,非必须可以跳过

UBUNTU mariadb解决不需要用户名密码就可以登陆的问题,使其,必须用户名密码登陆

要彻底卸载Mariadb,您可以按照以下步骤进行操作:

  1. 停止Mariadb服务:

     
  • sudo systemctl stop mariadb
    
  • 卸载Mariadb软件包:

     
  • sudo apt-get remove --purge mariadb-server mariadb-client mariadb-common
    
  • 删除Mariadb相关文件和文件夹:

     
  • sudo rm -rf /etc/mysql/ /var/lib/mysql/ /var/log/mysql/
    
  • 最后,清理残留的配置文件:

     
  1. sudo apt-get autoremove && sudo apt-get autoclean
    

现在,Mariadb已经完全从您的系统中删除了。

Packages for Linux and Unix

https://pkgs.org/  安装包大全网站,非常好用deb包直接双击安装不必打命令减少错误率

安装mariadb

http://archive.ubuntu.com/ubuntu/pool/universe/m/mariadb-10.6/mariadb-server_10.6.7-2ubuntu1_all.deb

双击deb安装MariaDB Server之后,您需要进行一些配置才能开始使用它。以下是一些基本的配置步骤:

  1. 运行安全脚本

    MariaDB提供了一个安全脚本,可以帮助您设置密码,删除匿名用户,禁用远程根访问等。运行以下命令以启动安全脚本:

     
  • sudo mysql_secure_installation
    

    按照提示输入密码并回答问题即可进行配置。

  • Enter current password for root (enter for none):按回车

  • 问题参考不是大问题感觉随便设置

  • You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n]

    当您运行 mysql_secure_installation 时,它会检查MariaDB安装的当前设置。在这种情况下,它检测到root用户使用unix_socket身份验证而不是密码身份验证。

    如果您选择“Y”(yes),则将启用unix_socket身份验证,即只有拥有操作系统上root用户权限的用户才能登录到MariaDB服务器。

    如果您选择“n”(no),则将继续使用密码身份验证,这意味着要使用密码来验证root用户的身份。如果您希望使用密码身份验证,请输入“n”,然后按Enter键。

    You already have your root account protected, so you can safely answer 'n'. Change the root password? [Y/n]

    当您运行 mysql_secure_installation 时,它将询问您是否要更改root用户的密码。如果您已经设置了密码并知道密码,那么您可以选择“n”(no)以跳过此步骤。

    如果您想更改root用户的密码,请选择“Y”(yes),然后按Enter键,并按照指示输入新密码。注意,安全性最好的密码是包含大小写字母、数字和特殊字符的长密码。

    无论您选择哪个选项,请根据您的需求选择相应的选项。

    Remove anonymous users? [Y/n]

    当您运行 mysql_secure_installation 时,它将询问是否删除匿名用户。匿名用户是指能够连接到MariaDB服务器而不需要提供用户名和密码的用户。

    如果您希望增强安全性,则应该选择“Y”(yes)以删除匿名用户。

    如果您有其他用户需要使用MariaDB服务器,但他们不想使用用户名和密码进行身份验证,则应选择“n”(no)以保留匿名用户。

    无论您选择哪个选项,请根据您的需求选择相应的选项。

    Disallow root login remotely? [Y/n

    当您运行 mysql_secure_installation 时,它将询问是否允许root用户远程登录到MariaDB服务器。如果启用了远程root登录,攻击者可以利用此漏洞,尝试使用不同的密码组合进行暴力破解以获取对服务器的访问权限。

    如果您希望增强安全性,则应选择“Y”(yes)以禁用远程root登录。

    如果您需要从远程位置管理MariaDB服务器,则应选择“n”(no)以允许远程root登录。但请注意,在这种情况下,您应该确保密码的复杂度和强度,以避免出现风险。

    无论您选择哪个选项,请根据您的需求选择相应的选项。

    Remove test database and access to it? [Y/n]

    当您运行 mysql_secure_installation 时,它将询问是否删除测试数据库,并删除对它的访问权限。测试数据库是一个默认的数据库,其中包含一些示例表和数据。这些示例表和数据可能会被攻击者用于进行尝试性的攻击。

    如果您希望增强安全性,则应选择“Y”(yes)以删除测试数据库及其访问权限。但请注意,这将删除测试数据库中的所有表和数据,因此请确保在执行此操作之前备份重要数据。

    如果您需要保留测试数据库或者已经删除了测试数据库,则应选择“n”(no)以跳过此步骤。

    无论您选择哪个选项,请根据您的需求选择相应的选项。

    Reload privilege tables now? [Y/n]

    当您运行 mysql_secure_installation 时,它将询问是否重新加载权限表。如果您进行了任何更改,如删除匿名用户、禁用远程root登录或删除测试数据库,则需要重新加载权限表才能使更改生效。

    如果您已经完成了所有更改,则应选择“Y”(yes)以重新加载权限表并使更改生效。

    如果您还有其他更改需要进行,则应选择“n”(no)以在完成所有更改后一次性重新加载权限表。

    无论您选择哪个选项,请根据您的需求选择相应的选项。

    2023/4/14 09:23:03

    为什么不需要密码就登陆了数据库

    2023/4/14 09:23:13

    如果您可以使用root用户而无需输入密码即可登录到MariaDB服务器,则可能是因为root用户已经设置了基于Unix套接字的身份验证方式。

    默认情况下,MariaDB会使用基于密码的身份验证方式进行登录。但是,如果在安装期间选择了基于Unix套接字的身份验证方式,则只有当您作为系统上的root用户时才能使用此身份验证方式登录MariaDB服务。

    因此,如果您正在以root用户的身份登录或者使用sudo命令时切换到root用户,那么您将被允许无需密码即可登录到MariaDB服务器。

    如果您希望强制要求用户提供密码以验证其身份,则可以在MariaDB服务器上更改root用户的身份验证方式。

  • 启动和停止MariaDB服务

    使用以下命令启动MariaDB服务:

     
sudo systemctl start mariadb

要停止服务,请使用以下命令:

 
sudo systemctl stop mariadb

以上是安装和卸载 ,可以跳过

解决不需要用户名密码就可以登陆的问题,使其,必须用户名密码登陆

要更改MariaDB服务器上root用户的身份验证方式,可以按照以下步骤进行操作:

第一种方法

  1. 打开MariaDB配置文件 my.cnf:

     
  • sudo nano /etc/mysql/my.cnf
    
  • 在[mysqld]部分中添加以下内容,以启用密码身份验证:

     
  • [mysqld]
    # ...
    skip_grant_tables=0
    

    保存并关闭my.cnf文件。

  • 重启MariaDB服务以使更改生效:

     
  1. sudo systemctl restart mariadb
    

现在,当您尝试使用root用户登录到MariaDB服务器时,将需要输入密码进行身份验证。如果您想再次启用基于Unix套接字的身份验证方式,请编辑my.cnf文件并删除skip-grant-tables选项,然后重新启动MariaDB服务器。

[mysqld] # ... skip_grant_tables=0 并没有这一项

2023/4/14 09:24:56

如果在my.cnf文件中没有找到 skip_grant_tables 这一项,那么这可能是因为该选项未被设置或注释掉了。

在这种情况下,您可以尝试添加以下行到my.cnf文件的末尾,以启用密码身份验证:

 
[mysqld]
skip-grant-tables=0

如果该行已经存在于my.cnf文件中,但它被注释掉了(即前面有一个#号),那么您需要取消注释该行。要做到这一点,只需删除#号即可。

完成这些更改后,保存并关闭my.cnf文件,并重新启动MariaDB服务,以使更改生效:

 
sudo systemctl restart mariadb

现在,当您尝试使用root用户登录到MariaDB服务器时,将需要输入密码进行身份验证。

保存并关闭my.cnf文件。怎么保存

要保存并关闭my.cnf文件,您需要使用nano文本编辑器中的快捷键。按下Ctrl+O键(即字母“O”),将会提示您输入文件名。根据需要输入文件名,并按Enter键。

然后按下Ctrl+X键来退出nano编辑器。如果您对文件进行了更改,则会提示您保存更改。按下Y键以确认保存更改,然后按Enter键即可完成保存并关闭文件。

请注意,在Nano编辑器中,行首有一个“^”符号表示Ctrl键。例如,“^O”表示按下Ctrl和字母O键。

希望这可以帮助您保存并关闭 my.cnf 文件。

然而并没有生效!!!!!!!!!!!

第二种方案

如果在修改了my.cnf文件并重启MariaDB后仍然无法通过密码身份验证登录到MariaDB服务器,则可能是因为您未正确设置root用户的密码。

您可以使用以下命令来设置root用户的密码:

  1. 以root用户身份登录到MariaDB:

     
  • sudo mysql -u root
    
  • 使用以下命令更改root用户的密码:

     
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
    

    请将“new_password”替换为您要设置的新密码。

  • 可能会报错

  • ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BY 'pop'' at line 1 ,看第三种方案

  • 刷新MySQL权限表格:

     
  • FLUSH PRIVILEGES;
    
  • 退出MariaDB会话:

     
  • quit;
    
  • 用新密码重新登录MariaDB:

     
  1. mysql -u root -p
    

    输入您刚设置的新密码即可登录。

  2. 并没有效果!!!!!!!!!!!

  1. 第三种方案 我的是第三种生效的

  2. 抱歉,我的先前回答中有一个错误。在设置root用户密码时,您需要使用以下命令:

     
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    

    请注意,此命令中没有WITH mysql_native_password语句。

    请将“new_password”替换为您要设置的新密码。完成更改后,请使用以下命令刷新权限表格:

     
    FLUSH PRIVILEGES;
    

    退出MariaDB会话,然后使用新密码重新登录MariaDB以验证更改是否生效:

     
    mysql -u root -p
    

完成这些步骤后,您应该能够使用用户名和密码进行身份验证,并成功登录到MariaDB服务器。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu 22.04.2 LTS上安装MariaDB,可以按照以下步骤进行操作: 1. 打开终端,并使用以下命令安装MariaDB的软件包: ``` sudo apt install mariadb-server ``` 2. 安装完成后,可以使用以下命令启动MariaDB服务: ``` sudo systemctl start mariadb ``` 3. 若要设置MariaDB在系统启动时自动启动,可以运行以下命令: ``` sudo systemctl enable mariadb ``` 4. 在安装完成后,可以运行以下命令来对MariaDB进行一些初始设置: ``` sudo mysql_secure_installation ``` 这个命令将引导你完成一些安全设置,例如设置root密码、移除匿名用户、禁止root远程登录等。 5. 如果需要远程连接到MariaDB服务器,你可以修改MariaDB的配置文件。通过以下命令来编辑配置文件: ``` sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf ``` 6. 保存并关闭文件后,重新启动MariaDB服务以使更改生效: ``` sudo systemctl restart mariadb ``` 现在,你已经在Ubuntu 22.04.2 LTS上成功安装并进行了一些基本配置的MariaDB数据库服务器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu22.04安装MariaDB](https://blog.csdn.net/tang_t/article/details/131471622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ubuntu22.04安装zabbix6.0 LTS](https://blog.csdn.net/qq_15514497/article/details/129317169)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值