【灵魂拷问】你真的懂得Mysql的管理和使用吗?

作者 | Jeskson
来源 | 达达前端小酒馆
MySQL管理,数据库管理和数据表管理,用户管理。
初始化数据库,创建数据库,查看数据库,删除数据库。
创建数据表,查看数据表,修改数据表,删除数据表。
用户管理,创建与删除用户,授予与回收用户权限,设置与更改用户密码。
数据库管理
初始化数据库
mysqld --initialize
启动数据库:
使用windows服务器管理界面启动;或使用MySQL命令启动。
mysql -u root -p
创建数据库
CREATE DATABASE语句用于创建一个新的数据库
CREATE DATABASE [db_name];
// 创建一个名为dada的数据库
create database data;
数据库创建好后,会在data目录下自动生成一个名为data的目录,该数据库的数据会存储于此目录下,MySQL是一个数据库管理系统,支持运行多个数据库。
查看数据库
SHOW DATABASES
show databases;
删除数据库
DROP DATABASE db_name;
drop database dada; // 删除dada数据库
删除数据库是一个不可逆的操作。
MySQL数据表管理
MySQL的每个数据库就相当于一个容器,里面放着很多许多表,表中的每行包含一条具体的数据关系信息,为数据记录。在data目录下,每个数据库对应一个目录。
每个数据表对应3个文件,分别为".frm","myd",".myi"类型的文件。
创建数据表:
USE 数据库名;
CREATE TABLE 表名(字段名 类型(长度),字段名 类型(长度));
查看数据表
SHOW语句和DESCRIBE语句
// 查看数据库中有哪些表
SHOW TABLES;
// 此命令可以列出所有表名
show tables;
// DESCRIBE
DESCRIBE 库名.表名;
使用DESCRIBE语句可以查看某一个表的具体结构,并查看组成表的各字段的信息
use mysql;
describe user;
使用describe语句可以查看表的各个字段名称,类型,长度,是否非空,是否有主键,默认值以及备注等信息。
修改数据表
修改数据表使用ALTER语句来实现,alter,修改表,包括修改表的名,字段的名,字段类型等表结构。
修改表名
ALTER TABLE 旧表名 RENAME 新表名;
ALTER TABLE student RENAME student1;
修改字段名:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
ALTER TABLE student1 CHANGE name s_name varchar(50);
修改字段类型
ALTER TABLE 表名 MODIFY 属性名 数据类型;
ALTER TABLE student1 MODIFY name varchar(2);
增加字段:
ALTER TABLE 表名 ADD 属性名 数据类型;
ALTER TABLE student1 ADD sex char(1)
删除字段:
ALTER TABLE 表名 DROP 属性名;
ALTER TABLE student1 DROP sex;
删除数据表
USE 数据库名;
DROP 表名;
使用DROP语句可以删除数据库中的表
DROP TABLE 数据库名.表名;
USE test;
DROP TABLE student1;
DROP TABLE test.sudent1;
mysql用户管理
创建与删除用户
创建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
username表名要创建的用户名
host表示在哪个主机上可以登录
CREATE USER 'test1'@'localhost' IDENTIFIED BY '123';
CREATE USER 'test2'@'192.123.2.2' IDENTIFIED BY '12';
CREATE USER 'test3'@'%' IDENTIFIED BY '';
// identified
用户删除
DROP USER 'username'@'host';
删除用户的语法与创建用户的语法相同
DROP USER 'test1'@'localhost';
删除本地主机数据库用户
授予与回收用户权限
可以对用户进行授权:
GRANT privileges ON dbname.tablename To 'username'@'host';
privileges表示要授予用户的操作权限
dbname表示数据库名
tablename表示数据表名
username和host分别表示用户名和登录主机
GRANT SELECT, INSERT ON mysql.test TO 'test1'@'%';
表示授权用户test1在所有登录主机均对mysql库的test表拥有select和insert权限。
GRANT ALL ON *.* TO 'test2'@'localhost';
如果要授予用户对所有数据库和表的相应操作权限,可用“*”表示,如“*.*”。
回收用户权限
REVOKE privileges ON databasenamme,tablename FROM 'username'@'host';
REVOKE SELECT ON *.* FROM 'test2'@'localhost';
回收用户test2在本地主机数据库对所有库的所有表的SELECT权限
设置与更改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');;
username为要设置或更改密码的用户名
host为用户的登录主机
newpassword为设置或更改的密码
SET PASSWORD FOR 'test1'@'localhost' = PASSWORD('123');

❤️ 不要忘记留下你学习的脚印 [点赞 + 收藏 + 评论]
作者Info:
【作者】:Jeskson
【原创公众号】:达达前端小酒馆。
【福利】:公众号回复 “资料” 送自学资料大礼包(进群分享,想要啥就说哈,看我有没有)!
【转载说明】:转载请说明出处,谢谢合作!~
大前端开发,定位前端开发技术栈博客,PHP后台知识点,web全栈技术领域,数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。谢谢支持,承蒙厚爱!!!
若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。
请点赞!因为你们的赞同/鼓励是我写作的最大动力!
欢迎关注达达的CSDN!
这是一个有质量,有态度的博客

【灵魂拷问】你真的懂得Mysql的管理和使用吗?的更多相关文章
- 灵魂拷问:你真的理解System.out.println()执行原理吗?
原创/朱季谦 灵魂拷问,这位独秀同学,你会这道题吗? 请说说,"System.out.println()"原理...... 这应该是刚开始学习Java时用到最多一段代码,迄今为止 ...
- 工厂设计模式灵魂拷问-Java实现
show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式 ...
- [MySQL Reference Manual] 5 MySQL 服务管理
5. MySQL 服务管理 5. MySQL 服务管理 5.1 The Mysql Server 5.2 Mysql 服务日志 5.2.1 选择General query log和slow query ...
- MySQL日志管理
MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...
- MySQL 日志管理详解
大纲 一.日志分类 二.日志详解 注:MySQL版本,Mysql-5.5.32(不同版本的mysql变量有所不同) 一.日志分类 错误日志 查询日志 慢查询日志 二进制日志 中继日志 事务日志 滚动日 ...
- mysql监控管理工具--innotop
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innotop/innotop-1.9. ...
- UCloud EIP 你真的懂得如何使用么? - SegmentFault
UCloud EIP 你真的懂得如何使用么? - SegmentFault UCloud EIP 你真的懂得如何使用么?
- MySQL账户管理
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...
- MySQL(十六)之MySQL用户管理
一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...
随机推荐
- 学习笔记30_ORM框架
*在以往DAL层中,操作数据库使用DataTable,如果使得数据表DataTable转为List<>的话,写错属性名,在编译阶段是查不出来的,而ORM框架能解决此问题. *ORM是指面向 ...
- 【原创】(十)Linux内存管理 - zoned page frame allocator - 5
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...
- 【51nod 1251】 Fox序列的数量(以及带限制插板法讲解)
为什么网上没有篇详细的题解[雾 可能各位聚聚觉得这道题太简单了吧 /kk 题意 首先题目是求满足条件的序列个数,条件为:出现次数最多的数仅有一个 分析 感谢 刚睡醒的 JZ姐姐在咱写题解忽然陷入自闭的 ...
- ApplicationContext refresh 过程及一些重要的 processor 解析
回顾 上文 其实我们已经实现了一个简单的 BeanFactory 它具的功能有 注册 Bean 到容器,通过限定名获取 Bean 可以拦截 Bean 初始化前后的处理 可以在 Bean 属性注入后和即 ...
- windows下离线安装mysql8.0服务(支持多个安装,端口不同就可以)
1.官网下载 mysql文件.官网下载链接:https://dev.mysql.com/downloads/mysql/ 选择mysql下载的系统版本. 此处可以下载MSI安装包,图简单的朋友可以 ...
- 星空 题意转化,差分,状压DP
好题(爆搜和puts("2")一个分(雾)),不得不说思维真的强. 首先发现区间翻转很难受,考虑用差分(异或满足可逆性),注意是从0到n+1 然后就转化题意,操作改为选取距离为L的 ...
- day1-习题
# 1.使用while循环输入 1 2 3 4 5 6 8 9 10 count = 1 while count<11 : #使用while语句循环输入123...10 if count == ...
- ArcGIS API For Javascript :如何解决跨网不能正常获取依赖项的问题?
一.前言 政企项目通常会在自组网以及保密网运行,有些单位甚至会有两个物理隔绝的网络存在.通常情况下我们会在两个网络中部署相同的地图服务和依赖项.但是也有其中一个网络密级很高没有服务器资源,不能单独部署 ...
- linux文件时间
Linux 查看文件修改时间(精确到秒)(简单) ls --full-time 查看文件时间戳命令:stat test.txt linux 下查看文件修改时间 等(详细) 查看文件时间戳命令:stat ...
- 使用 Rsync 从 Windows 同步数据到 Linux
为什么要使用 rsync 从 Windows 到 linux 进行同步? 我们经常会面临这种的情况,项目使用 Windows 开发,最终部署在 Linux 上,但有时想要进行测试.维护.迭代版本时操作 ...