You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04下mysql_secure_installation执行后未修改表求助

解决Ubuntu 16.04中MariaDB执行mysql_secure_installation及SQL语句无效果的问题

我之前在Ubuntu 16.04上部署MariaDB(10.0.x版本)的时候也碰到过类似的诡异问题——执行mysql_secure_installation没报错,但用户表完全没变化,手动跑SQL也是毫无动静,仿佛语句根本没执行。下面是我试过的几个有效排查和解决方法,你可以一步步来:

  • 确认你连接的是正确的MariaDB实例
    有时候系统里可能残留了旧的数据库进程,或者你无意中连接到了非本地的实例。先检查当前运行的MariaDB服务状态:

    sudo systemctl status mysql
    

    确保只有一个实例在运行。然后登录时明确指定本地socket,避免连接偏差:

    mysql -u root -p -S /var/run/mysqld/mysqld.sock
    
  • 检查事务自动提交状态
    部分场景下InnoDB的自动提交可能被关闭了,导致你执行的修改语句只是在内存里,没有持久化到磁盘。登录MariaDB后执行:

    SELECT @@autocommit;
    

    如果返回结果是0,说明自动提交关闭了。这时候你执行完修改SQL后,必须手动执行COMMIT;才能让修改生效。比如修改root密码后,要加一句COMMIT;再退出。

  • 手动模拟mysql_secure_installation的操作
    有时候这个脚本可能因为环境变量或者权限问题没正确执行,你可以手动执行它的核心步骤,同时观察执行结果:

    1. 设置root密码(根据MariaDB版本选择语句):
      -- 适用于较新版本
      ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
      -- 如果上面报错,用旧版本语法
      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');
      
    2. 删除匿名用户:
      DROP USER ''@'localhost';
      
    3. 清理root的远程登录权限(可选,根据你的需求):
      DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
      
    4. 删除test数据库:
      DROP DATABASE test;
      
    5. 刷新权限:
      FLUSH PRIVILEGES;
      

    执行完这些后,用SELECT User, Host FROM mysql.user;查看用户表是否有变化,记得如果autocommit是关闭状态要执行COMMIT;。

  • 检查MariaDB数据目录的权限
    如果数据目录的权限不属于mysql用户,MariaDB可能无法将修改写入磁盘。检查数据目录权限:

    ls -ld /var/lib/mysql/
    

    正常情况下,所有者和组都应该是mysql。如果权限不对,修复后重启服务:

    sudo chown -R mysql:mysql /var/lib/mysql/
    sudo systemctl restart mysql
    
  • 检查是否开启了只读模式
    偶尔会碰到配置错误导致数据库进入只读状态,执行以下语句确认:

    SELECT @@read_only;
    

    如果返回1,说明是只读模式。你需要修改MariaDB的配置文件(通常是/etc/mysql/mariadb.conf.d/50-server.cnf或者/etc/mysql/my.cnf),找到read_only参数并设置为0,然后重启服务:

    sudo systemctl restart mysql
    
  • 确认当前登录用户的权限
    有时候你以为自己用root登录,但实际可能用了普通用户。登录后执行以下语句确认:

    SELECT CURRENT_USER();
    SELECT USER();
    

    确保当前用户是root@localhost或者拥有SUPER权限的用户,否则无法修改用户表。

内容的提问来源于stack exchange,提问作者uzla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:14:02