记一次Mysql魔鬼实训
1.查看某个Mysql数据库当前使用的字符集
show create database 【库名称】
2.查看当前书库版本信息
#mysql -V
MariaDB [(none)]> use mysql;
MariaDB [mysql]> select version();
3.查看当前登录的用户
MariaDB [mysql]> select user();
4.创建GBK字符集的数据库test1;
MariaDB [mysql]> create database test1 default charset=gbk;
5.查看某个Mysql用户拥有的权限(show grants for [用户@‘来源IP’])
MariaDB [mysql]> show grants for root@'localhost';
6.创建user01,并授予管理 数据库testdb权限;格式为:grant 【权限列表】on 【库.表】【用户@来源IP】 identified by 【密码】
grant all on testdb.* user01@‘localhost’ identified by ‘123.com’
7.查看当前数据库中有哪些用户
select user from mysql.user;
8.创建一个test表,要求存储引擎为INNODB,字符集为gbk,字段ID,长度为4,name
MariaDB [testdb]> create table test(id int(4),name varchar(16))engine=INNODB default charset=gbk;
9.查看test表结构以及表结构的SQL语句
MariaDB [testdb]> desc test
MariaDB [testdb]> show create table test\G
10.向test表插入某条数据;或者批量插入多行数据
MariaDB [testdb]> insert into test values(2,'test02'),(3,'test03'),(4,'test04');
11.过滤查询,查看某个字段下的某个名称的记录,如查询test02的单行记录
MariaDB [testdb]> select * from test where name='test02';
12.替换表中某个字段的记录,如将id为2的名称更改为BBB
MariaDB [testdb]> update test set name = 'BBB' where id = '2';
13.在表中添加某个字段alter table 【表名称】add 【字段名称】【字段类型】 after 【需要在某个字段后面插入的字段名称】
如,我现在需要在baidu表中name字段后面加上“CCTV”字段, 类型为tinyint(2)
MariaDB [testdb]> alter table baidu add CCTV tinyint(2) after name;
14.删除表中的某个字段(alter table 【表名称】drop 【字段】)
MariaDB [testdb]> alter table baidu drop cctv;
15.不退出数据,完成备份testdb数据库(system mysqldump -u【用户】 -p【密码】 【需要备份的数据库名称】> 【备份路径/*.sql】)
MariaDB [(none)]> system mysqldump -uroot testdb > /root/testdb.sql
同理,不退出数据库,完成数据恢复
MariaDB [(none)]> system mysql -uroot testdb < /root/testdb.sql
16.删除表中的所有数据(delete from )
delete from test;
17.修改库/表中的字符集alter 【库/表】 【库/表名称】 default charset 【字符集】
MariaDB [testdb]> alter table baidu default charset utf8;
MariaDB [testdb]> alter table baidu default character set gbk;
MariaDB [(none)]> alter database testdb default charset=utf8;
MariaDB [(none)]> alter database testdb default character set gbk;
18.在某个设置主键(alter table 【表名称】add primary key(字段))
alter table test add primary key(id)
19.在某个字段创建普通索引create index 【索引自定义名称】 on 【表名称】【字段】
MariaDB [testdb]> create index hexunindex on hexun(name(16));
20.在指定表中插入某个字段alter table 【表名称】add [字段名称/char(11)]
MariaDB [testdb]> alter table hexun add caiji char(11);
21.查看表中的索引
MariaDB [testdb]> show index from hexun;
MariaDB [testdb]> show create table hexun\G
22.查看数据表的索引类型
MariaDB [testdb]> show keys from hexun\G
23.删除指定表中的索引(drop index 【索引名称】on 【表名称】)
MariaDB [testdb]> drop index hexunindex on hexun
24.修改数据表的存储引擎(alter table 【表名称】 engine=【存储引擎类型】)
MariaDB [testdb]> alter table hexun engine=innodb;
25.撤回某个用户对某个库中的权限(revoke 【权限列表】 on 【库.*】 from 【用户@'来源IP'】)
MariaDB [testdb]> revoke select on testdb.* from zhangsan@'localhost';
26,跳过mysql密码验证,如何找回?
#skip-grabt-tables #将此配置写入/etc/my.conf重启即可免密登录
#mysqld_safe --skip-grant-tables & 启动数据库服务(不推荐此种方式)
记一次Mysql魔鬼实训的更多相关文章
- Java+MySQL企业级实训全套课程
总纲 JAVA基础部分 教学视频:第一讲:Java入门与环境搭建 提取码:h9vm第二讲:变量与运算符 提取码:928t第三讲:顺序结构及条件结构 提取码:3v1l第四讲:while ...
- Mysql实训任务书
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6635189537079296526/ 什么是数据库:数据库(Database)是按照数据结构来组织.存储和管理数据 ...
- Android电子书项目实训【项目说明】【1】
概述: 本实训项目是本科教学中,Android课程实训的项目,旨在训练Android App訪问server,获取server数据,解析,并呈现的流程.主要包括的功能有: 1.用户注冊 2.登录 3. ...
- 实训第六天(mybatis)
今天实训第六天,我们学习了mybatis这个数据库框架,虽然说框架的环境搭建非常的繁琐,但是在了解原理和流程之后是非常的舒服的.因为有一个强大的工具被我掌握了,所以今天感觉非常的开心. 首先我们是在s ...
- <实训|第五天>通过搭建NFS,FTP实现共享文件附Vim脚本游戏
先说个事情:我周末是不更新这个系列教程的,不过其他内容的会更新,我周末就整理这一周的各种内容到我的微信公众号中,提供给大家! 期待已久的linux运维.oracle"培训班"终于开 ...
- <实训|第四天>Linux下的vim你真的掌握了吗?附上ftp远程命令上传。
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- <实训|第三天>Linux登录界面的修改以及Richard Stallman、自由软件运动
在写博客之前我想说两点: 承认一个错误,昨天写的实训第二天,我把redhat6.7写成了Linux6.7,感谢热心人士的指出! 昨天写的文章名字太长了,今天改善,内容感觉表述不全,希望各位谅解! 官方 ...
- 沈逸老师PHP魔鬼特训笔记(9)--进化
回到第一课,我们学过PHP母体,了解过解析PHP程序.PHP其实内置了一个web服务器,专门给我们开发测试使用,那么接下来我们要完成的是:生成后创建一个web 服务,在浏览器中可以访问. PHP的母体 ...
- 沈逸老师PHP魔鬼特训笔记(7)--我叫什么名字
一.生成文件夹. mkdir():--新建目录 bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false ...
随机推荐
- Python之常见算法介绍
一.算法介绍 1. 算法是什么 算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输 ...
- Day 4 测试(QwQ 表示没考好 未完待续。。。 可能要过一段时间才会更
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...
- Pthread 用法笔记
什么是线程? 从技术上讲,一个线程被定义为一个独立的指令流. 一个进程可以包含一个或多个线程. 线程操作包括线程创建,终止,同步(连接,阻塞),调度,数据管理和进程交互. 进程内的所有线程共享: 相同 ...
- css 溢出overflow
css 溢出overflow 当一个元素被设置为固定大小,在这个元素中的内容如果超出元素的界限,就会出现溢出的现象. 通常情况下我们可以通过overflow来控制这个属性. overflow语法定义 ...
- python学习日记(初识面向对象)
面向过程 VS 面向对象 面向过程 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统 ...
- 位运算之——按位与(&)操作——(快速取模算法)
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作, 其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描! 其中涉及位运算 ...
- 【洛谷P3389 【模板】高斯消元法】
这是个版子题,当然本蒟蒻也是看了好几天才明白 对于这样的线性方程组,我们可以看成是一个矩阵 对于百度百科给的定义(我感到很迷)赶脚和行列式有的一拼 但我们要注意的是: 行列式是一个确切的值(有关行列式 ...
- 第三十九篇-RecyclerView的使用
RecyclerView介绍 RecyclerView的出现可以替代ListView,并且比ListView更高级且更具灵活性.如果有数据集合,其中的元素将因用户操作或网络事件而在运行时发生改变,请使 ...
- 关于ehcache缓存中eternal及timeToLiveSeconds和timeToIdleSeconds的说明
今天发现开发项目启动时有警告提示:cache 'xx' is set to eternal but also has TTL/TTI set,发现是ehcache缓存设置冲突 所以决定在此mark一下 ...
- ACM-ICPC 2018 徐州赛区网络预赛 B BE, GE or NE(记忆化搜索)
https://nanti.jisuanke.com/t/31454 题意 两个人玩游戏,最初数字为m,有n轮,每轮三个操作给出a b c,a>0表示可以让当前数字加上a,b>0表示可以让 ...