• Linux服务器常见问题及解决方案


    目录

    一、忘记MySQL的root用户密码的解决方法

    二、配置mysql允许指定IP远程访问


    一、忘记MySQL的root用户密码的解决方法

    1. 停止运行的MySQL进程,后配置跳过授权表启动MySQL

    service mysqld stop

    2. 打开一个Terminal,在  vim /etc/my.cnf 下添加:

    [mysqld]
    # 添加下面的语句
    skip-grant-tables

    3. 重启mysql服务:

    service mysqld restart

    4. 打开一个Terminal, 打开安全模式的mysql, 连接的时候不需要密码:

    mysql -u root -p
    
    --  MySQL5.7版本
    mysql> UPDATE `mysql`.`user` SET `authentication_string`=PASSWORD('123456') WHERE `User`='root' AND `Host`='localhost';
    --  MySQL5.6以前部分版本
    mysql> UPDATE `mysql`.`user` SET `Password`=PASSWORD('123456') WHERE `User`='root' AND `Host`='localhost';

    5.刷新权限

    mysql> flush privileges;

    6.删除 etc/my.cnf 中的 skip-grant-tables

    二、配置mysql允许指定IP远程访问

    1.登录远程数据库,查看用户表

    # 进入mysql数据库
    mysql> mysql -u username -p
    # 查看表
    mysql> use mysql
    mysql> select Host,User from user;

    2.更新/授权用户表# 更新用户表

    # 更新用户表
    mysql> UPDATE `user` SET `Host` = '123.456*.*' where `Host` = '113.128.*.*';
    
    # 授权用户表
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'123.456.*.*' IDENTIFIED BY 'password' WITH GRANT OPTION;
    

    123.456.*.是允许远程访问的IP的值,root是账户名,后面的password是密码
    即,允许来自113.129..的连接并使用root账户和password这个密码进行访问
    ALL PRIVILEGES ON 后面的*.*表示所有数据库、所有的表,即完全访问权限,可以指定为特定数据库。
    如果允许所有ip访问,则ip可以用%代替。

    3.刷新权限

    mysql> flush privileges;
    一键三连呀!
  • 相关阅读:
    Dictionary集合 字典
    装箱和拆箱
    List< >泛型集合
    Hashtable 键值对集合
    File 类 的基本操作
    简体转换繁体
    ArrayList集合长度的问题
    ArrayList  集合
    里式转换
    字符串中常用的方法
  • 原文地址:https://www.cnblogs.com/jee-cai/p/14095273.html
Copyright © 2020-2023  润新知