• 对于出现拒绝访问root用户的解决方案


    提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'   由于使用mysql -u root 方式登录,实际上是登录到一个空用户(''@'localhost'),不是root用户

    提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)   一般这个错误是由密码错误引起

    方法一:

    1.关闭mysql

    service mysqld stop

    2.屏蔽权限,重置密码的第一步就是跳过MySQL的密码认证过程,方法如下

    >cd /etc/mysql
    >sudo vim my.cnf
    mysqld_safe --skip-grant-table

    或者

    skip-grant-tables

    3.新开起一个终端输入

    mysql -u root mysql
    UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
    FLUSH PRIVILEGES

     FLUSH PRIVILEGES/记得要这句话,否则如果关闭先前的终端,又会出现原来的错误

    方法二:
    1.关闭mysql

    service mysqld stop

    2.屏蔽权限

    skip-grant-tables

    3.新开起一个终端输入

    mysql -u root mysql
    delete from user where USER='';
    FLUSH PRIVILEGES

     4.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!

    MySQL允许远程访问的设置

    1.注释bind-address = 127.0.0.1

    >cd /etc/mysql
    >sudo vim my.cnf

    将bind-address = 127.0.0.1注释掉(即在行首加#),如下:

    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    # bind-address          = 127.0.0.1

    除了注视掉这句话之外,还可以把后面的IP地址修改成允许连接的IP地址。但是,如果只是开发用的数据库,为了方便起见,还是推荐直接注释掉。

    2.删除匿名用户

    登录进数据库

    切换到数据库mysql。SQL如下:

    use mysql;

    查询用户表命令

    select  User,authentication_string,Host from user

     如有,删除匿名用户。SQL如下:

    delete from user where user='';
    flush privileges

     3.增加允许远程访问的用户或者允许现有用户的远程访问

    接着上面,删除匿名用户后,给root授予在任意主机(%)访问任意数据库的所有权限。SQL语句如下

    这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址 

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' 
    flush privileges

     4.重启数据库

    sudo service mysql restart

      

    MySQL启动,停止,重启方法

    一、启动方式

    1、使用 service 启动:service mysqld start

    service mysqld start

    2、使用 mysqld 脚本启动:

    /etc/inint.d/mysqld start

    3、使用 safe_mysqld 启动:

    safe_mysqld&

     二、停止

    1、使用 service 启动:

    service mysqld stop

    2、使用 mysqld 脚本启动:

    /etc/inint.d/mysqld stop

    3、

    mysqladmin shutdown

    三、重启

    1、使用 service 启动:

    service mysqld restart

    2、使用 mysqld 脚本启动:

    /etc/inint.d/mysqld restart
    
    
  • 相关阅读:
    201671030116宋菲菲 实验三作业互评与改进报告
    通读《构建之法》提出问题
    201671010460-朱艺璇-实验四附加实验
    201671010460朱艺璇 词频统计软件项目报告
    201671010460朱艺璇 实验三作业互评与改进报告
    阅读《现代软件工程—构建之法》提出的问题
    手把手带你了解消息中间件(3)——RocketMQ
    字符编码的历史由来
    linux常用命令
    linux各目录及重要目录的详细介绍
  • 原文地址:https://www.cnblogs.com/hongsandao/p/10764648.html
Copyright © 2020-2023  润新知