首页 > 技术文章 > 127 连接数据后的基本操作

xichenHome 2019-09-22 20:43 原文

一、用户信息查看

前提:连接上数据库以后

  1. 查看当前登录的用户:select user();

  2. root权限下可以查看所有用户信息

    select * from mysql.user;显示所有的user的信息,一大堆的字符

    * from mysql.user \G;显示所有用户自己的字段

    select user,password,host from mysql.user显示用户的user,password,host这三个字段

  3. root登陆下,删除游客(操作后要重新启动mysql服务)

    可以先查看所有的游客用户,然后删除某一个游客用户,where +条件

    delect from mysql.user where user='';

二、修改root管理用户的密码

  1. 在没有登录的情况下去修改

    mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"

    mysql -uroot -p123 -hlocalhost password "456" 将123密码改为456

  2. 在root登录后修改

    mysql> set password for 用户名@localhost = password('新密码');

    mysql> set password for root@localhost = password('123');

三、数据库配置

3.1为什么要进行编码配置

  • 通过配置文件统一配置的目的:统一管理服务端(msysql)、客户端(client)

3.2 编码配置后的结果

  • 由于我们再登录mysql的时候,创建数据库默认的编码都是为‘’latin1‘’,这个时候当我们再数据库中存储中文的时候会导致乱码问题

  • 通过配置文件将mysql的服务端的编码设置为‘utf8’,以后创建数据库的时候默认编码为‘utf8’,而不会导致乱码问题

3.3 配置流程

  1. 再mysql安装的根目录下创建配置文件my.ini

  2. 设置配置文件内容并保存

    [mysqld]  # 服务器配置
    port=3306  # 可以修改数据库默认端口(如果数据库端口被其他软件占用)
    character-set-server=utf8  # 编码格式
    collation-server=utf8_general_ci  # 排序方式(默认跟编码格式走)
    
    [client]  # mysql自己的客户端叫[mysql],配置[client]即配置了[mysql],也配置了其他存在方式的客户端,比如Navicat可视化客户端
    default-character-set=utf8  # 编码格式
    
  3. 重启数据服务

四、登录数据库后,创建用户操作

特殊表(mysql.user)基本操作:登录root权限以后,创建的所有用户权限都是存在mysql.user特殊表里面的

4.1为特定的数据库分配该数据库的操作权限的用户

  • all:所有权限
  • database.* : database库中的所有表
  • xxx@’localhost‘ : 本机可以通过xxx用户登录
  • identified by ‘xxx123’ : xxx用户的密码为xxx123
grant all on database.* to xxx@'localhost' identified by 'xxx123';
  • select 、delete、update、insert、drop、alter、:指定的权限
  • database.* : database库中的所有表
  • xxx@’localhost‘ : 本机可以通过xxx用户登录
  • identified by ‘xxx123’ : xxx用户的密码为xxx123
grant select.delete,update,insert ,drop,alter on database.* to xxx@'localhost' indentified by 'xxx123';

4.2 撤销权限

语法:revoke 权限1,权限2,··· on 数据库名.表名(*全部表) from 用户@'主机名';

实例:revoke all on database.* from xxx@'localhost';

4.3 删除该用户

drop user 用户名@'主机名'

推荐阅读