linux解决mysql登录问题

修改配置文件:my.cnf
在这里插入图片描述

在这里插入图片描述
添加:skip-grant-tables
就可以免密登录了;
之后进入mysql的user表中:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
查看是否又user和password字段:没有就新加:
alter add 命令用来增加表的字段:
alter add命令格式:alter table 表名 add字段 类型 其他;如下所示:

 alter table car_evidence add `unit_name` varchar(64) comment '单位'

alter drop 命令删除表的字段:

alter drop 命令格式:alter table 表名 drop column 字段;

 alter table car_evidence drop column `unit_name`; 

alter modify 命令修改表的字段:

alter modify 命令格式:alter table 表名 modify 字段 其他;如下所示:

 alter table t_plan MODIFY box_size VARCHAR(32) comment '盒内的数量';

有了字段后,就可以设置用户名和密码了:

UPDATE user SET password=PASSWORD("root") WHERE user='root';

设置好,再将配置文件里的:skip-grant-tables(免密登录)删除;
重启mysql:

service mysqld restart

若还是不行:
参考:https://blog.csdn.net/qq_36652619/article/details/81535987
建议使用GRANT语句进行授权,语句如下:

GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

“root”替换为将要授权的用户名,比如clientusr;

“123456”替换为clientusr设置的密码;
创建好帐户之后,就开始给上面的common user进行数据表授权,步骤3中增加的连接用户默认权限都是“N”的,必须在db表中为该帐户授权,允许其访问专用数据库,当然超级用户就不说了。

    使用下面语句:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON mysql.user TO ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;

    本语句中的权限根据实际需要确定:

	“mysql”是数据库的名字

    "user "替换为授权访问的数据表table名

    "root"是步骤2授权用户名

    "123456"是步骤2授权用户的设置密码

    这样就为该用户授予了对某数据表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP权限。

生效授权,创建完毕

    一句话即可:
   FLUSH PRIVILEGES;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值