美文网首页
Linux CentOS 7 MySQL 修改root密码和设置

Linux CentOS 7 MySQL 修改root密码和设置

作者: 挂机的啊洋zzZ | 来源:发表于2019-01-26 15:10 被阅读0次
    MySQL.png

    Linux CentOS 7 MySQL 修改root密码和设置权限

    如果遇到以下问题,或者使用 Navicat 连接不上Mysql(修改权限),请尝试以下操作。

    Access denied for user 'root'@'localhost' (using password: YES)
    
    修改密码
    [root@localhost ~]# vim /etc/my.cnf
    

    在[mysqld]下添加

    skip-grant-tables
    

    跳过密码登录mysql。
    使用

    [root@localhost ~]# mysql -u root -p
    

    登录,然后回车,进入mysql命令行。

    mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.6.43 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    

    进入user库:

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    

    修改密码:

    mysql> select host,user,password from user;
    +-----------------------+------+-------------------------------------------+
    | host                  | user | password                                  |
    +-----------------------+------+-------------------------------------------+
    | 192.168.5.104         | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    | localhost.localdomain | root |                                           |
    | 127.0.0.1             | root |                                           |
    | ::1                   | root |                                           |
    | %                     | root | *FABE5482D5AADF36D028AC443D117BE1180B9725 |
    +-----------------------+------+-------------------------------------------+
    5 rows in set (0.00 sec)
    
    mysql> UPDATE user SET Password = PASSWORD('root') WHERE user = 'root';
    Query OK, 4 rows affected (0.01 sec)
    Rows matched: 5  Changed: 4  Warnings: 0
    

    然后flush privileges使生效

    mysql> select user, host,password  from user;
    +------+-----------------------+-------------------------------------------+
    | user | host                  | password                                  |
    +------+-----------------------+-------------------------------------------+
    | root | 192.168.5.104         | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    | root | localhost.localdomain | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    | root | 127.0.0.1             | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    | root | ::1                   | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    | root | %                     | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
    +------+-----------------------+-------------------------------------------+
    5 rows in set (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    然后ctrl + c退出mysql命令行,将/etc/my.cnf 之前添加的skip-grant-tables 去除。
    然后重启mysq服务。

    [root@localhost ~]# systemctl restart mysqld.service 
    
    修改权限:

    root默认是不支持远程登录的,用外网连接你必须给权限,
    或者root不给权限,可以创建一个其他的用户,然后赋权限,
    以便安全控制。

    允许用户root使用密码从任何主机连接到mysql服务器

    mysql>  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; 
    Query OK, 0 rows affected (0.00 sec)
    

    或者

    允许用户root从ip为192.168.5.104的主机连接到mysql服务器

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.5.104'  IDENTIFIED BY 'root'WITH GRANT OPTION;
    Query OK, 0 rows affected (0.00 sec)
    

    然后flush privileges

    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    重启

    [root@localhost ~]# systemctl restart mysqld.service 
    

    完。

    相关文章

      网友评论

          本文标题:Linux CentOS 7 MySQL 修改root密码和设置

          本文链接:https://www.haomeiwen.com/subject/wlyijqtx.html