首页 > 编程知识 正文

mysql给用户所有权限,access denied for user odbc

时间:2023-05-04 15:58:35 阅读:23640 作者:274

在mysql中使用root用户登录时,error1045(28000 ) : access denied http://www.Sina.com/user ' root ' @ ' localhost ' (使用

错误的原因是root用户没有localhost登录权限,修改了/etc/my.cnf数据库配置文件,并将“skip-grant-tables”添加到[mysqld]选项中

在安全模式下登录到mysql数据库。 MySQLurootp (输入密码直接按回车,登录成功。

在mysql数据库中:

显示mysql数据库的用户表中的数据。 select user,host,password from mysql.user;

发现root用户具有127.0.0.1权限,没有local host登录权限。

localhost和127.0.0.1登录有区别。

要使用localhost登录数据库,请使用UNIX套接字。

使用MySQLurootprooth 127.0.0.1命令登录是使用TCP/IP协议进行的。

因此,将root@localhost登录权限添加到mysql.user表中。

gant allon *.* to‘root’@’localhost’;

查看用户表(select user,host,password from mysql.user; 时,我们发现此时用户表中多了一条记录。 此时,password为空,与以前root拥有密码的root@127.0.0.1不同。 在这种情况下,可以使用根@ local host登录(空密码)。 更改root@localhost的密码将与root@127.0.0.1相匹配(使用update直接编辑mysql.user表)。

update MySQL.userset password=password (‘root’) where user=’root’andhost=’localhost’; (修改一个记录)

flush权限;

或:

update MySQL.userset password=password (‘root’) where user=’root ); (同时修改两个记录)

flush权限;

已通过MySQLurootproot成功登录。

如果无法使用授权全部设置用户权限:

1、stop mysql服务

2、在安全模式下登录: vi /etc/my.cnf在mysqld选项中添加skip-grant-tables。

3、手动更改用户权限,使其可以设置权限。

update MySQL.userset grant _ priv=’y’,super _ priv=’y’where user=’root’;

4、刷新缓冲:闪存权限;

附属: grant allon *.* to‘root’@’localhost’; 赋予用户权限

select * from mysql.userG用户的查看权限G垂直显示。

service mysqld restart将重新启动MySQL。

在windows上卸载MySQL:1卸载2删除安装的文件夹删除ProramDate隐藏文件夹中的MySQL配置数据文件夹4注册表中的MySQL相关信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。