MySQL分析与整理 — 数据库的基本操作

    技术2022-07-11  77

    文章中所有操作均是在 MySQL 5.7 版本下进行的

    当安装完了 MySQL 之后就可以进行登录等相关操作了。在这里如何登录就不演示了,非常简单“mysql -u root -p”回车输入密码即可。(一般情况下都是登录本机的 root 管理员用户)

    温馨提示:退出当前用户用 exit 命令。 注意:登录 MySQL 后可以用 select version(); 命令查看 MySQL 的版本。 另外:没有登录 MySQL 也可以用 mysql -V 或者 mysql --version 也可以查看版本。

    1 用户操作

    1.1 添加用户

    执行以下命令可以进行用户添加:

    create user '用户名'@'IP地址' identified by '密码';

    比如我创建了有个用户(创建了一个 Lee 用户,默认密码为 1,请注意用户名大小写):

    create user 'Lee'@'%' identified by '1';

    这里需要说明的一个地方,create user ‘用户名’ @’%’,@ 后面的参数代表可以登录的 IP地址,% 代表是可以在任意 IP 下登录。这样的话也可以另外的创建命令:

    ‘用户名’@‘IP地址’:代表用户只能该 IP 下才能访问。‘用户名’@‘192.168.1.%’:代表用户只能在该 IP 段下才能访问(通配符 % 表示任意)可以直接 create user ‘用户名’ 创建用户也可以,默认 % 任意 IP。

    1.2 权限授权

    可以用命令查看某个用户的权限有哪些:

    show grants for '用户'@'IP地址';

    比如刚才新创建的用户:

    show grants for 'Lee'@'%';

    如果是新创建的用户它除了能登录之外,理论上是没有任何权限的(它有一个默认的 USAGE 权限,官网给出的解释是“无权限”)。我们可以通过以下命令进行权限授权:

    grant 权限 on 数据库.to '用户'@'IP地址';

    命令中的“权限”有哪些?

    可以用户赋予全部权限,命令如下:

    grant all privileges on *.* to '用户'@'IP地址';

    除了 all privileges 之外还有哪些权限:

    权限名解释alteralter the tablealter routinealter or drop stored functions/procedurescreatecreate new databases and tablescreate routineuse create functions/procedurescreate temporary tablesuse create temporary tablecreate viewcreate new viewscreate usercreate new usersdeletedelete existing rowsdropdrop databases, tables, and viewseventcreate, alter, drop and execute eventsexecuteexecute stored routinesfileread andwrite files on the servergrant optiongive to other users those privileges you possessindexcreate or drop indexesinsertinsert data into tableslock tablesuse lock tables (together with select privilege)processview the plain text of currently executing queriesproxymake proxy user possiblereferenceshave references on tablesreloadreload or refresh tables, logs and privilegesreplication clientask where the slave or master servers arereplication slaveread binary log events from the masterselectretrieverows from tableshow databasessee all databases with show databasesshow viewsee views with show create viewshutdownshut down the serversuperuse kill thread, set global, change master, etctriggeruse triggerscreate tablespacecreate/alter/drop tablespacesupdateupdate existing rows

    命令中的“数据库.表”有哪些?

    可以用户赋予全部权限,命令如下:

    数据库名.*,表示数据库中的所有表。数据库名.表,表示数据库中的指定某个表。数据库名.存储过程,表示数据库中的某个存储过程。*.*,表示所有。

    1.3 删除授权

    revoke 权限 on 数据库.from '用户'@'IP地址'; revoke all privileges on *.* to '用户'@'IP地址';

    以上代码很好理解了。

    1.4 修改用户

    修改用户?要修改用户的什么呢?给用户增加授权或者移除授权,这个在上面有介绍。还可以修改用户的密码:

    set password for '用户名'@'IP地址' = password('新密码');

    还可以做什么?还可以修改用户的用户名:

    rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

    1.5 删除用户

    drop user '用户名'@'IP地址';

    如果创建的时候是直接 create user ‘用户名’ 创建的,可以直接 drop user ‘用户名’ 删除。如果在创建的时候是以 create user ‘用户名’@‘IP地址’ 这种形式创建的,那得需要用 drop user ‘用户名’@‘IP地址’ 删除了。

    2 库的操作

    登录用户进入后,我们可以通过下面命令展示当前用户下所有的数据库:

    show databases;

    温馨提示:可以通过 “ show create database 数据库名; “ 展示查看指定数据库的创建信息。

    可以通过如下命令创建数据库:

    create database 数据库名;

    以上命令创建的数据库,还可以创建库的时候指定默认字符集:

    create database 数据库名 default character set 字符集;

    温馨提示:可以通过 “ alter database 数据库名 character set 字符集; ” 修改数据库字符集。

    那删除数据库的命令(这个命令需谨慎了,删库跑路?!)如下:

    drop database 数据库名;

    创建完了库,我需要进入库(切换数据库)中继续进行数据操作:

    use 数据库名;

    结语

    新建一个用户只是开始,必须赋予权限才可以使用。当然除了赋予权限肯定还有别的操作,这里就不详细分析了,后续的文章中会陆续加入。

    Processed: 0.009, SQL: 9