• mysql 设置远程访问


    前置条件

    #mysql  已经注册为服务,已经启动
    #检查mysql服务状态,如果为disabled 或者未设置为服务需要启动 设置为服务(为了开机启动)并启动它 
    #检查mysql状态 centos
    7+
    systemctl status mysql
    # 设置为服务(开机启动)
    systemctl enable mysql
    # 启动mariadb
    systemctl start mysql

     使用root 用户连接mysql

    如果未设置 root 密码可以使用如下方式登陆

    #> mysql

     如果已 为mysql root 用户设置了密码,使用如下方式登录

    mysql -u root -p

    创建用户

    1.mysql>CREATE USER 'user1'@'localhost' IDENTIFIED BY 'pass1';  --如果你要创建一个公网可以访问的用户,可以去掉@localhost 或者将localhost该为公网ip  
    
    2.mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON *.* TO 'user1'@'localhost';
    
    OR
    
    mysql>GRANT ALL ON *.* TO 'user1'@'localhost';

    finally
    mysql>FLUSH PRIVILEGES;

    收回用户权限

    revoke all on *.* from user1@localhost;

     修改密码

    set password for 'root'@'ip_address' = password('xxx');  

    查看用户访问权限

     查询用户表命令:select User,authentication_string,Host,Password from user; 

    查看某个用户的权限

    mysql> show grants for root@localhost;

    权限

    说明

    CREATE

    Create_priv

    创建数据库和表

    DROP

    Drop_priv

    抛弃(删除)数据库和表

    GRANT OPTION

    Grant_priv

    数据库、表或保存的程序

    REFERENCES

    References_priv

    未使用

    ALTER

    Alter_priv

    修改表和索引

    DELETE

    Delete_priv

    INDEX

     

    Index_priv

    Alter_priv

    创建或抛弃索引

    INSERT

    Insert_priv

    向表中插入新行

    SELECT

    Select_priv

    检索表中的记录

    UPDATE

    Update_priv

    修改现存表记录

    CREATE VIEW

    Create_view_priv

    视图

    SHOW VIEW

    Show_view_priv

    视图

    ALTER ROUTINE

    Alter_routine_priv

    保存的程序

    CREATE ROUTINE

    Create_routine_priv

    保存的程序

    EXECUTE

    Execute_priv

    保存的程序

    FILE

    File_priv

    读或写服务器上的文件

    CREATE TEMPORARY TABLES

    Create_tmp_table_priv

    服务器管理

    LOCK TABLES

    Lock_tables_priv

    服务器管理

    CREATE USER

    Create_user_priv

    服务器管理

    PROCESS

    Process_priv

    查看服务器中执行的线程信息或杀死线程

    RELOAD

    Reload_priv

    重载授权表或清空日志、主机缓存或表缓存

    REPLICATION CLIENT

    Repl_client_priv

    服务器管理

    REPLICATION SLAVE

    Repl_slave_priv

    服务器管理

    SHOW DATABASES

    Show_db_priv

    服务器管理

    SHUTDOWN

    Shutdown_priv

     关闭服务器

    SUPER

    Super_priv

    服务器管理

    修改密码

    mysqladmin -u root password '19740415'

    Mysql的端口是否正确
    通过netstat -ntlp 查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My AdminMy Query BrowserMySQl Front等。

    检查用户权限是否正确
    mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

    查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉 需要注掉 报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

    sudo gedit /etc/mysql/my.cnf 
    
    #skip-external-locking
    
    #bind-address        = 127.0.0.1
    
    skip-name-resolve

    查看iptables是否停掉,没关的情况下,无法连接
    通过:service iptables stop临时关闭。
    报错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

    Trouble shooting

    如果意外收回了root用户的所有权限

    如果你删除了你的root用户错误地可以做一件事:

    1. 停止MySQL服务
    2. mysqld_safe --skip-grant-tables &
    3. 类型mysql -u root -p然后按回车。
    4. 输入您的密码
    5. 在MySQL命令行中输入:use mysql;

    然后执行以下查询:

    UPDATE user SET select_priv ='Y', insert_priv='Y' , update_priv='Y', delete_priv= 'Y',
    create_priv='Y', grant_priv='Y', lock_tables_priv='Y',
    DROP_PRIV='Y',
    RELOAD_PRIV='Y',
    SHUTDOWN_PRIV='Y',
    PROCESS_PRIV='Y',
    FILE_PRIV='Y',
    REFERENCES_PRIV='Y',
    INDEX_PRIV='Y',
    ALTER_PRIV='Y',
    SHOW_DB_PRIV='Y',
    SUPER_PRIV='Y',
    CREATE_TMP_TABLE_PRIV='Y',
    EXECUTE_PRIV='Y',
    REPL_SLAVE_PRIV='Y',
    REPL_CLIENT_PRIV='Y',
    CREATE_VIEW_PRIV='Y',
    SHOW_VIEW_PRIV='Y',
    CREATE_ROUTINE_PRIV='Y',
    alter_routine_priv='Y',
    create_user_priv='Y',
    event_priv='Y',
    trigger_priv='Y',
    create_tablespace_priv='Y'
    WHERE host='localhost' AND User = 'root'

    然后重新启动mysqld。

    reference documents

    http://blog.csdn.net/sin90lzc/article/details/7648711

    http://www.iteye.com/topic/418151

    转载请注明出处, 更多博文请访问https://www.cnblogs.com/guoapeng/
  • 相关阅读:
    linux-磁盘挂载脚本
    VSCode插件
    数据模拟--Mock.js
    Vue学习笔记之组件
    Vue学习笔记之动画
    Echarts柱状图常用配置项
    Vue学习笔记之总体结构
    JSON数据格式开发规范
    苹果电脑和手机浏览器的区分
    二维码生成插件(jquery.qrcode.js)说明文档
  • 原文地址:https://www.cnblogs.com/guoapeng/p/3961167.html
Copyright © 2020-2023  润新知