mysql登陆,创建用户,权限控制

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: mysql登陆,创建用户,权限控制 一.如何登陆mysql: 1.下载安装mysql数据库:( 我们以5.5版本为例进行学习) 注意: (1)下载安装时文件路径中不要有中文,不然路径不能解析,安装会失败。

mysql登陆,创建用户,权限控制

一.如何登陆mysql:

1.下载安装mysql数据库:( 我们以5.5版本为例进行学习)

注意:

(1)下载安装时文件路径中不要有中文,不然路径不能解析,安装会失败。

(2)一般的数据库软件中有很多插件,选择性的安装,一般只需要client,server,database  

(3)在安装数据库的过程中会创建root用户及可以备选的用户,及密码。

2.登陆mysql:

(1)第一种方式(一般本地连接):通过client登陆,默认使用的是root用户,直接输入密码就可以登陆。如下图所示:

         

(2)第二种方式(本地或者远程连接):

         以windows为例:在dos窗口中cd到mysql安装目录下的bin目录,然后输入一下命令

         >mysql -hlocalhost -uroot -p123456          -h后面的参数是请求连接的机器地址(一般本地连接时省略),-u后面接的是用户名,-p后面接的是密码

       

二.mysql数据库用户创建及权限管理:

1.创建用户并赋权限:

(1)第一种方式:grant命令

        mysql>grant all privileges on *.* to username@hostname identified by 'password';

        mysql>flush privileges;                  //权限修改之后一定要记得刷新系统权限表才能生效

  格式:grant 权限 on 数据库.表 to 用户名@登录主机 identified by "密码"; 

       

       通过grant命令可以创建用户同时分配权限,也可以给已有的用户赋权限,而且权限可以重复附加(第一次给查的权限,第二次给删的权限)

       hostname如果用“%”表示所有的机器都可以连接此数据库。

(2)第二种方式:create user命令:

      mysql>create user ‘jwang13’@'localhost' identified by 'jwang13';

      mysql>flush privileges;

     

     注:通过这种方式创建用户之后可以通过grant命令进行权限赋值。在创建用户时identified by password为可选项,不设置默认不用密码

(3)第三种方式:直接往user表中插入一条记录

         mysql>insert into user (user,host,password,.......) values('jwang12','localhost',password('jwang12'),.......);

         mysql>flush privileges;

         然后通过grant命令给用户赋权限,这种方式一般很少用。

说明:user表中不同的数据库版本中字段的名字不太一致,比如password字段在高版本的user表中就没有,并且在插入时很多字段是默认不能为空的,所以在创建用户并赋权限的时候多采用第一种方式。

 2.查看用户及主机:

      mysql库中有一张user表,记录了用户的名称,主机,密码等信息

      mysql>select user,host,password from user;

      

 3.修改用户的密码:

     (1)第一种方式:修改用户密码实际上就是根据主机和用户名来更改user表中的密码,如下图所示:

     mysql>update mysql.user set password='jwang13' where user='jwang' and host='localhost';

     mysql>flush privileges

       

    (2)第二种方式:在登陆时通过mysqladmin命令修改密码;

           cd到mysql的安装bin目录,然后执行:

           mysqladmin -u username -p password newpassword

           Enter Password:*******       输入旧密码回车即可

           mysql -u username -p 

           Enter Password:*******       输入新密码回车即可进入数据库环境

          

 4.删除用户信息:

    (1)删除用户:这种方式只是删除了user表中的记录

   mysql>Delete FROM user Where User='jwang' and Host='localhost';

   mysql>flush privileges;

    (2)删除账户及权限:这种方式清除了有关该用户的所有信息,包括权限信息

        mysql>drop user 用户名@'%';

        mysql>drop user 用户名@ localhost; 

        

注意:如果只是删除了user表中的记录的话权限信息依然存在,如果重新添加一个用户和原先删除的用户一样的话,那他默认会拥有原先同名用户的权限信息。

5.mysql权限验证过程:

    常识1:在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有:

                 user,db,host,table_priv,columns_priv,proc_priv

        

 常识2:MySQL存取控制包含2个阶段:     

              阶段1服务器检查你是否允许连接。

              阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施某个具体的请求(如select)

常识3:user表中有很多字段,大致分为3类:

    (1)用户列:host,user,password(有的版本的user表中没有这个字段)

    (2)权限控制列:select_priv,insert_priv等以priv结尾的字段

    (3)安全控制列:ssl_type,ssl_cipher,x509_issuer,x509_subject(ssl用于加密,x509可以用来标识用户)

    (4)资源控制列:max_questions:每小时可以允许有多少次查询

                                   max_updates:每小时可以允许执行多少次更新

                                   max_connections:每小时可以建立多少次链接

                                   max_user_connects:单个用户可以同时具有的连接数。

      注意:有的版本中没有password,而是多了几个与密码相关的字段。在使用insert into user方法新建用户时,user表中部分字段不能为空,要设置默认值。

原文地址https://blog.csdn.net/m0_38045882/article/details/81431298

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
⑤ 【MySQL】DCL语句 —— 用户管理、权限控制
32 0
|
4月前
|
关系型数据库 MySQL 数据库
认真学习MySQL中的角色权限控制
认真学习MySQL中的角色权限控制
48 0
|
2月前
|
关系型数据库 MySQL 数据库
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
MySQL技能完整学习列表9、用户管理和权限控制——1、创建和管理用户——2、权限授予和撤销
43 0
|
3月前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL用户相关-创建用户
MySQL用户相关-创建用户
144 0
|
4月前
|
关系型数据库 MySQL 数据库
mysql创建用户角色后无法登陆_解决方法
mysql创建用户角色后无法登陆_解决方法
52 0
|
5月前
|
关系型数据库 MySQL
Mysql 8.0创建用户并授权
Mysql 8.0创建用户并授权
|
8月前
|
关系型数据库 MySQL 数据库
mysql数据库用户管理和权限控制
mysql数据库用户管理和权限控制
65 0
|
10月前
|
关系型数据库 MySQL 数据库
MySQL--创建用户命令grant语句学习(详细学习)
MySQL--创建用户命令grant语句学习(详细学习)
763 1
|
11月前
|
安全 关系型数据库 MySQL
MySQL的登陆【数据库系统】
MySQL的登陆【数据库系统】
68 0
|
12月前
|
关系型数据库 MySQL 数据安全/隐私保护
【MySQL】解决MySQL登陆时的闪退问题
大家在打开MySQL时,可能会遇到在登陆界面输入密码之后就闪退的这个问题.平时我们写代码,虽然会报错,但是错误的原因是给我们了.我们可以按照错误的原因进行处理.但是MySQL是直接闪退,所以并不知道报错的信息.这就造成了大部分人遇到这种情况就无从下手了.在这里教大家如何查看MySQL的报错信息