Linux安装MariaDB之后设置密码遇到的各种奇怪问题

如有错误欢迎指正

        安装MariaDB之后默认用户名是root ,默认没有密码,直接在命令行输入mysql -u root就可以登录MySQL,然后输入  set password = xxxx;    设置密码,注意结尾的分号。但是会报错

         上网搜一下解决方案

        是因为你输入的密码是明文,它要求你输入十六进制数字。

        解决方案:输入  select password('密码'); 转换成对应的十六进制码 ,复制它给出的十六进制码代替明文密码,设置密码的时候粘贴过去就好了

         参考        (1条消息) ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number_李笑男的博客-CSDN博客

        设置好密码之后我们登录试一下,怎么还要输密码。。。

         那就再输一次,注意这个password输入的时候是不显示的,输入之后回车,它和我讲unknown database?????莫名其妙。

         后来上网查了一下说-p和密码之间不能有空格。。。

        我试了一下,确实登进去了

        我再试一下只写-p,不写密码,然后它提示我输入密码,我输入123456,竟然成功了。

        结合上一个例子,我恍然大悟,之前写-p 123456  ,-p后面的123456被当作database读入了,而密码需要另外一行输入。我误以为我在Enter password:后面输入的123456被它判定为Unknown database了,其实它判定的是mysql -u root -p 123456中的123456

         所以在连接数据库的时候可以直接指定打开哪一个数据库,应该是这样。我之前连接的时候看网上的教程好像打开过一个叫mysql的数据库,这我就很好奇了,我刚刚安装MariaDB,它有自带的数据库吗,试一下,确实有。

         那我想看看MariaDB到底有哪些数据库,怎么看。可以用mysql -u root -p123456,也可以直接用mysql进入。然后用  show databases;    注意写法,是负数,我之前写show database;找错误找了半天。

         我们可以看到MariaDB中自带的数据库有4个。

        还有一个问题,-p和后边的密码之间不能有空格,那-r和root之间不加空格行吗,我试一下,发现行。

         我又想试一下,输入一个错误的密码654321能不能识别出来

         rnm退钱!输入错误的密码还能进去。

        那我不输密码能不能进去。

         rnm退钱! 不输密码也能进去。

        经过更深入的理解,和与本机的Navicat的比较,我明白Navicat是一个对于mysql的数据库管理工具,可以连接到mysql类型的DBMS,应该不能创建数据库吧。MariaDB是一个关系型数据库管理系统,它只能创建mysql这种数据库,但是在本机中有一个数据库叫mysql,好像还有一个用户名叫mysql,给我带来了极大的干扰,给我绕晕了。

        账号和密码是对于MariaDB而言的还是对于服务器而言,答案是MariaDB。只有一个MariaDB,但是可以创建不同的账号,意义是什么。权限控制吗,应该是。

       我决定把MariaDB卸载重装。

        重装之后用以下代码初始化MariaDB,没用

mysql_secure_installation

           

             网上给出的修改密码的方法

         复制抛出的错误去网上查,找到了英文网站,说MariaDB已经更新了,user已经从table变成view了,不要盲目的从别人的博客搬了。。。。我感觉还是英文网站强啊。奈何英文不好。终于体会到别人说的学计算机还是得能看懂英文。

        给出了下面的设置密码的方法

        进入MariaDB [mysql]> 之后 用set password for root@localhost = password('123456');是可以更改密码的,肉眼可见

        但是登录的时候随便输入一个错误的密码还是能进。。。。。应该是没有判断密码,直接登录了。 

        找网上的教程,都是叫你把unix_socket改成mysql_native_password,我的plugin就是mysql_native_password啊。后来终于找到一个解决方案   解决MariaDB无密码 可登录 - Anlovescode - 博客园 (cnblogs.com)    还是得看官方文档啊Authentication Plugin - Unix Socket - MariaDB Knowledge Base

        解决方法就是用 ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;   用这句话之后再登录试一下,还是无需密码就登录。那就再来一句SET PASSWORD = PASSWORD('123456');   虽然我的密码本来就是123456

         用完之后再登录就需要密码了

         泪目,终于成功了。

        

        

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好人不心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值