修改配置文件: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;