MySql的操作跟命令

news2024/12/24 9:05:06

概述

        仅仅为了加强记忆,废话不说,直接上正文。


 快速开始

        创建数据库。

        进入MySql客户端,输入root用户的密码

Enter password: ****
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.33 MySQL Community Server - GPL

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

        当然我们创建数据库可以很暴力

mysql> create database test;
Query OK, 1 row affected (0.01 sec)

        查看我们已经创建的数据库

mysql> show databases;
+------------------------------+
| Database                     |
+------------------------------+
| information_schema           |
| mysql                        |
| performance_schema           |
| sakila                       |
| soingol_crm_plantform        |
| soingol_linkecustomer_manage |
| sys                          |
| test                         |
| world                        |
+------------------------------+
9 rows in set (0.00 sec)

        我们已经可以看到我们创建的test数据库了,但是这样显然不是我们想要的结果。

        我们需要在创建数据库时为数据库指定字符集以及排序规则。

CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

        设置字符集时我们一般选择utf-8,简单介绍一下utf8与utfmb4的区别。

        utf8mb4兼容utf8,且比utf8能表示更多的字符,unicode编码区从1 ~ 126就属于传统utf8区,当然utf8mb4也兼容这个区,126行以下就是utf8mb4扩充区,什么时候你需要存储那些字符,你才用utf8mb4,否则只是浪费空间。

        排序一般分为两种:utf_bin和utf_general_ci

        bin 是二进制, a 和 A 会别区别对待.

        select * from table where a = ‘a’;

        那么在utf8_bin中你就找不到 a = ‘A’ 的那一行, 而 utf8_general_ci 则可以.

        utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。

        utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果

        utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

        utf8_unicode_ci和utf8_general_ci对中、英文来说没有实质的差别。

        utf8_general_ci校对速度快,但准确度稍差。(准确度够用,一般建库选择这个)

        utf8_unicode_ci准确度高,但校对速度稍慢。

    删除数据库 

drop database test;

         创建用户  

CREATE USER ‘username‘@’host’ IDENTIFIED BY ‘password’;
属性名含义
username登录用户名
host指定可访问的Ip,如果指定所有ip都可以访问,将其指定为通配符‘%’即可
password登录密码,如果密码为空则无需密码

    我们查看一下用户是否已经创建成功

mysql> select user,host from user;
ERROR 1046 (3D000): No database selected

   出现这个异常怎么办,我们只需要指定一下数据库即可。

mysql> use mysql;
Database changed

  ok,现在我们可以继续查询了 

mysql> select user,host from user;
+-----------------------+-----------+
| user                  | host      |
+-----------------------+-----------+
| root                  | %         |
| linkecustomer_manage  | localhost |
| mysql.infoschema      | localhost |
| mysql.session         | localhost |
| mysql.sys             | localhost |
| soingol_crm_plantform | localhost |
+-----------------------+-----------+
6 rows in set (0.00 sec)
  1. 为用户授权
grant privileges on database.tablename to “username”@’host’;
属性名含义
privileges用户的操作权限,如select,insert,update等,如果授予所有权限则使用all
database如果不指定数据库,直接 *.* 即可,如果指定数据库,不指定表名,则database.*即可
username登录的用户名
host给予授权的主机ip,如我想让用户A的Ip使用test用户授予的权限,但是不想用户B的Ip使用test用户的权限
grant select,update on soingol_crm_plantform.tbl_m_form to 'test'@'localhost';

        例如我们赋予查询以及修改权限为数据库soingol_crm_plantform中的表tbl_m_form。但是不允许插入以及删除,则我们在使用该用户删除数据时会报错,

当然我们可以继续为用户增加权限

grant delete on soingol_crm_plantform.tbl_m_form to 'test'@'localhost';

    ok,我们查看一下已经赋予的权限

mysql> show grants for 'soingol_crm_plantform'@'localhost';
+------------------------------------------------------------------------------------------+
| Grants for soingol_crm_plantform@localhost                                               |
+------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `soingol_crm_plantform`@`localhost`                                |
| GRANT ALL PRIVILEGES ON `soingol_crm_plantform`.* TO `soingol_crm_plantform`@`localhost` |
+------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

     在此,我们可以看到我们为用户soingol_crm_plantform设置了所有权限。

权限常用关键字

撤销所有权限

evoke privileges ON database.tablename FROM ‘username‘@’host’;

 撤销(revoke)的和授予(grant)的基本一样,除了 revoke(对应 grant)和 from(对应 to)

  1. 删除用户
drop user username@host
  1. 修改用户密码
set PASSWORD FOR ‘username‘@’%’ = PASSWORD (‘要修改的密码’)
  1. 密码过期以及锁定用户

        在 MySQL5.6.6 版本起,增加了 password_expired 功能,它允许设置 MySQL 数据库用户的密码过期时间。这个特性已经添加到 mysql.user 数据表,它的默认值是”N”,表示已禁用密码过期功能

mysql> alter user  'soingol_crm_plantform'@'localhost' password expire;

  关于 mysql5.7 锁定用户

   在创建的时候锁定用户:

mysql> create user 'soingol_crm_plantform'@'localhost' account unlock;

 已存在的时候锁定用户:

mysql> alter user 'soingol_crm_plantform'@'localhost' account lock;

解锁账号

mysql> alter user 'soingol_crm_plantform'@'localhost' account unlock;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第3章 创建项目并初始化业务数据(过程记录)

项目声明和依赖 ECommerceRecommendSystem [pom.xml] 公用的声明、依赖、插件 properties 声明 log4g:处理日志的框架(日志的具体实现)sel4g:简单日志门面(简单日志的接口)mongodb-spark:Mong…

Python 元类实现ORM

目录 ORM概念 __new__、__init__、__call__的介绍 通过元类简单实现ORM中的insert功能 抽取到基类中 ORM概念 ORM(Object Ralational Mapping,对象关系映射)用来把对象模型表示的对象映射到基于 SQL 的关系模型数据库结构中去。这样&am…

隔断推拉门滑动不畅常见的原因和解决方法

隔断推拉门滑动不畅常见的原因和解决方法如下: 1. 滑轨污秽:如果滑轨上有灰尘、油垢或杂物积聚,会影响推拉门的滑动效果。解决方法是定期清洁滑轨,使用吸尘器或刷子清除污垢,并用湿布擦拭干净。 2. 滑轨损坏&#xff1…

Git---分支管理

文章目录 前言一、理解分支二、创建分支三、切换分支四、合并分支五、删除分支六、合并冲突七、分支管理策略八、分支策略九、bug分支十、删除临时分支总结 前言 本篇博客开始介绍Git的杀手级功能之一 : 分支.分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习C的时候,另…

MySQL学习基础篇(六)---多表查询

MySQL学习基础篇(六)—多表查询 对于多表查询的理解: 多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。 前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是…

浅析EasyCVR视频技术与AR实景智能管理平台在智慧厂区中的应用

一、背景分析 新型智慧厂区是运用人工智能、大数据、物联网和设备监控技术加强厂区安保和信息管理。通过先进技术,保障厂区生产运营安全,同时减少生产线上的人工干预、及时正确地采集各类生产数据,以及合理的生产计划编排与生产进度&#xff…

线性规划的对偶问题(The Dual of LP)

线性规划的对偶问题(The Dual of LP) 对偶理论是线性规划中最重要的理论之一,是深入了 解线性规划问题结构的重要理论基础。同时,由于问题提 出本身所具有的经济意义,使得它成为对线性规划问题系 统进行经济分析和敏感…

原生 js点击空白处 关闭遮罩层(关闭某个div)

如图所示 点击空白处关闭此div document.addEventListener(click, function(e) {//监听页面点击事件var screenDoc document.querySelector(.controlHead);//需要关闭的divvar control document.querySelector(.control);//设置的按钮if (screenDoc && !screenDoc.co…

基于TF-IDF+Tensorflow+pyQT+孪生神经网络的智能聊天机器人(深度学习)含全部工程源码及模型+训练数据集

目录 前言总体设计系统整体结构图系统流程图孪生神经网络结构图 运行环境Python 环境TensorFlow 环境 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 模型应用 系统测试1. 训练准确率2. 测试效果3. 模型应用 工程源代码下载其它资料下载 前言 本项目利用TF-IDF&…

【Docker、Dockerfile】使用Dockerfile创建镜像并运行容器

创建SpringBoot项目 创建一个Springboot的Java项目,然后打包成可运行的Jar 编写Dockerfile文件 在项目文件夹下创建Dockerfile文件,内容如下 # 定义用于构建镜像的 JDK 版本参数,可以在构建过程中通过 --build-arg 选项传递给 docker bui…

如何用adb命令统计app冷启耗时

第一步:杀掉App,然后重启,过滤Displayed日志,找到App启动的第一个Activity; adb logcat | grep Displayed 第二步:再次杀掉App,使用adb shell am start命令来启动app: adb shell a…

podman容器的使用

podman 安装 如果你想在rhel系统中玩podman,必须是rhel8.2版本以上。podman版本是1.9.3。从centos8.2开始默认情况下,除了最小化安装之外,系统都会默认安装podman。 如果你使用rhel8.2以上的版本,那么就直接安装podman就可以了。…

关于多grib文件合并以及netcdf和grib的方法

前言 之前在使用WRF做敏感性试验时,曾修改初始场的grib文件,并涉及到多个grib文件合并的情况,下面介绍一些好用的工具处理netcdf和grib 1、 grib_copy 官网:https://confluence.ecmwf.int/display/ECC/grib_copy 在Linux系统上…

从零实现深度学习框架——Seq2Seq模型尝试优化

引言 本着“凡我不能创造的,我就不能理解”的思想,本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架,该框架类似PyTorch能实现自动求导。 💡系列文章完整目录: 👉点此👈 要深入理解深度学习,从零开始创建的经验非常重要,从自己可以理解的角度出发,尽…

【操作系统核心概念】进程管理和进程调度

文章目录 前言1. 什么是操作系统2. 操作系统的定位3. 进程管理3.1 什么是进程/任务 (Process/Task)3.2 进程管理怎么做的3.3 进程控制块抽象PCB (Process Control Block)3.3.1 进程调度属性 4. 内存分配 ---- 内存管理 (Memory Manage)5. 进程间通信 (Inter Process Communicat…

带你看懂串口服务器

1、背景 串口服务器提供串口转网络功能,能够将RS-232/485/422串口转换成TCP/IP网络接口,实现RS-232/485/422串口与TCP/IP网络接口的数据双向透明传输。使得串口设备能够立即具备TCP/IP网络接口功能,连接网络进行数据通信,极大的扩…

Mac 脚本编辑器 (scriptEditor)

文章目录 1、打开 scriptEditor2、编写脚本3、执行脚本 1、打开 scriptEditor command 空格 输入 scriptEditor 2、编写脚本 脚本语言可以保存问文件,可以重复编辑 如下,每次打开一个新终端,执行新命令 tell application "Terminal&…

冒泡排序(附图详解)

目录 什么是冒泡排序? 冒泡排序的算法思想 算法图解 参考代码 运行结果 优化代码 运行结果 什么是冒泡排序? 将两个相邻的元素进行比较,如果前面的元素大(从小到大排序),就交换两个元素,…

ESP32设备驱动-ICM-20948 运动跟踪驱传感器驱动

ICM-20948 运动跟踪驱传感器驱动 文章目录 ICM-20948 运动跟踪驱传感器驱动1、ICM-20948介绍2、硬件准备3、软件准备4、驱动实现1、ICM-20948介绍 ICM-20948 是功耗非常低的 9 轴运动跟踪设备,非常适合智能手机、平板电脑、可穿戴传感器和物联网应用。 功率是现有 9 轴设备的…

02、PIC16F877的ADC模块

02、PIC16F877的ADC模块 一、ADC的一般配置步骤 二、ADC的软件滤波 三、性能提高 四、A/D器件推荐