zoukankan      html  css  js  c++  java
  • mysql 登录与权限

    一、mysql 登录方式

       1.1 格式:mysql -u用户名 -p密码 -h ip -P 端口 -S 套接字

    mysql -uvagrant -pvagrant -h 127.0.0.1 -P 3306 -S /tmp/mysql.lock
    为什么有的用户可以这样登陆??
    mysql -uroot -proot
    or
    mysql
    
    为什么他们的登陆那么简单?答案就是 mysql配置文件设置了默认登录信息,查询如下

      1.2 mysql 配置文件位置

    windows中 mysql 配置文件名 my.ini  一般在mysql 安装路径/etc/my.ini
    
    linux 中mysql配置文件名 my.cf  一般在 /etc/my.cf

      1.3 mysql 配置文件信息说明

    [client]
    #
    客户端连接时 使用的配置信息 #password = your_password port = 3306 # -P port socket = /tmp/mysql.sock [mysqld] # mysqld启动时使用的配置信息 port = 3306        # 启动时使用的ip端口 socket = /tmp/mysql.sock datadir = /usr/local/mysql/var skip-external-locking key_buffer_size = 32M max_allowed_packet = 1M table_open_cache = 128 sort_buffer_size = 768K net_buffer_length = 8K read_buffer_size = 768K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M thread_cache_size = 16 query_cache_size = 16M tmp_table_size = 32M explicit_defaults_for_timestamp = true max_connections = 500 max_connect_errors = 100 open_files_limit = 65535 log-bin=mysql-bin binlog_format=mixed server-id = 1 expire_logs_days = 10 early-plugin-load = "" default_storage_engine = InnoDB innodb_data_home_dir = /usr/local/mysql/var innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /usr/local/mysql/var innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_log_buffer_size = 8M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] # mysql 使用命令行登陆时的使用信息 user = vagrant # -uuser password = vagrant # -ppassword no-auto-rehash [myisamchk] key_buffer_size = 32M sort_buffer_size = 768K read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
    # 如 [mysql] 下面的信息
    # user=vagrant 表示命令行默认使用vagrant用户
    # password = vagrant 表示命令行莫恩使用vagrant密码
    其他的信息由[client]下提供

    二、用户创建与删除

      2.1 创建权限用户

      格式:

    grant 权限 on 库.表 to 用户名.'主机范围' identified by '密码';(该命令也可以修改权限作业范围和用户密码)

      举例1:

    grant ALL on *.* to test@'127.0.0.1' identified by '123'
    
    #说明:
    #        用户名:test
    #        密码:123
    #        主机范围:127.0.0.1 (表示这是本即可以登陆)
    #        权限作业范围*.*: 所有库,所有表
    #    
    权限: ALL
    # 登陆方式:
      mysql -utest -p123 -h 127.0.0.1

      举例二:

    grant all blog.* 'py'@'192.168.33.1' identified by '123';
    
    # 说明:
    #     用户名:py
    #     密码:123
    #     主机范围:192.168.33.1(只有该ip主机可以登陆
    #     权限作业访问:blog数据库下的所有表
    #     权限: ALL

      另外说明:

    # 想要命令立即生效:可以在命令执行后在执行下面命令
    # flush privileges;

     2.2 删除权限用户

      格式:

    drop user '用户名'@'主机范围';   # 执行命令即可删除 权限用户
    flush privileges;            # 该命令会立即生效上面执行的sql 语句

      2.3 查看用户

    select * from mysql.user;
    
    # 也可以使用如下操作
    # use mysql
    # select * from user
    
    # 上面的mysql.user  ,简化了进入mysql库这一步

    三、权限授权与撤销

      3.1 查看可创建的用户权限

        命令: show privileges;

      3.2 删除用户授权

        格式:

    revoke 权限 on 库.表 from '用户名'@'主机范围'# 该命令即使创建用户,也是修改用户权限
    # 用户名和主机范围 必须是已创建过的,这样才可以修改,

        举例:

    revoke ALTER,UPDATE,CREATE,INSERT on *.* from 'py'@'192.168.33.1';
    
    # 将用户名:py
    #   主机名:192.168.33.1
    #   权限作用范围*.*: 所有的库下面的表都删除ALTER,UPDATE,CREATE,INSERT 权限

      3.3 查看用户权限

        格式:

    show grants for '用户名'@'主机范围';
    
    # 例如:
    # show grant for 'root'@'localhost';
  • 相关阅读:
    让keep-alive不缓存
    vue tab echart始终显示100px解决办法
    加载图片失败显示默认图片
    element 文件上传传参数
    vue-cli axios 拦截器设置
    制作字体图标制作
    20道Java面试必考题
    Integer源码解析
    阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
    代理详解
  • 原文地址:https://www.cnblogs.com/xiaobaiskill/p/9256340.html
Copyright © 2011-2022 走看看