美文网首页数据库
MariaDB 10.4+ 新版本默认初始密码的修改

MariaDB 10.4+ 新版本默认初始密码的修改

作者: ___n | 来源:发表于2020-03-10 23:42 被阅读0次

    最近,很多人问 maradb 的密码修改不了,用以前 set password 的 mysql 命令,报下面的错误

    Column 'Password' is not updatable
    

    为什么改不了呢,因为 mysql.user 表不见了,现在它只是 mysql.global_priv 表的一个视图,所以不能修改原来的 mysql.user 表了,而密码是更改为在 authentication_string 字段中存放。

    当然,如果你认为将修改密码的语句改为下面语句也是不好使的

    UPDATE mysql.user SET authentication_string = PASSWORD('123456') WHERE User = 'root';
    # 会报一个大大的错给你
    ERROR 1348 (HY000): Column 'authentication_string' is not updatable
    

    这是因为 mariadb 10.4 可以给用户设置多种认证方式了,在初始安装的时候,默认创建了2个默认账号: root,mysql,并默认使用unix_socket模式认证 ,这种模式 root 不需要密码, 也不需要你去设置初始密码。

    MariaDB [(none)]> select user,plugin from mysql.user limit 1;
    +------+-----------------------+
    | User | plugin                |
    +------+-----------------------+
    | root | unix_socket |
    +------+-----------------------+
    
    

    这样登录 mysql 你就不需要像以前一样 mysql -uroot -p, 而是直接 mysql,只要登陆用户有系统root权限就可以进去。

    当然,如果你不想使用这个方式,还是想使用以前的密码登陆,也是支持。

    # 先登陆要修改的用户
    mysql -uroot
    #改认证模式
    update mysql.user set plugin = 'mysql_native_password' where user = 'root';
    # 然后再
    set password = password('123456')
    

    这样就把root的密码改为了 123456

    相关文章

      网友评论

        本文标题:MariaDB 10.4+ 新版本默认初始密码的修改

        本文链接:https://www.haomeiwen.com/subject/zlhodhtx.html