一、前言

MySQL :是用于管理数据的软件

MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  分为服务端和客户端(也是基于C/S架构的程序)

服务端:

  • socket服务端
  • 本地文件操作
  • 解析指令(SQL语句)

客户端:

  • socket客户端
  • 发送指令
  • 解析指令(SQL语句)

需要掌握

  • 安装服务端和客户端    https://www.mysql.com
  • 连接
  • 学习SQL语句规则,指示服务端做相应的操作

其他了解

类似软件

  • 关系型数据库:SQLLITE,DB2,ORACLE,ACCESS,SQL SERVER,MYSQL
  • 非关系型数据库:MONGODB,REDIS  等等

二、MySQL安装

在LINUX上可RPM或者yum install 。。。即可安装上

在windows上:

1、可执行文件

MySQL Installer   链接地址:mysql执行文件

下载完成之后,下一步  下一步即可  具体可访问此地址查看

2、压缩包(zip)形式

Windows (x86, 64-bit), ZIP Archive  访问地址:官网地址

压缩包形式好处是可以放置任意目录

下载完成之后,比如放到windows上的D盘

1、解压之后 如上图

2、初始化工作

  以管理的身份运行CMD  DOS窗口

例如  路径为 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64

就需要在dos窗口 敲 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld --initialize-insecure   此时即可完成初始化操作

  默认生成一个root用户 密码为空

3、启动服务端

 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysqld   在dos窗口执行此行  会出现socket (accept,recv)阻塞  或者 while 循环 input 的效果

4、客户端连接

 D:\mysql-5.7.23-winx64\mysql-5.7.23-winx64\bin\mysql -u root -p   密码为空  回车即可进入

  发送  show databases ;  指令

3、 环境变量的配置

打开计算机属性高级系统设置环境变量系统变量框下的path项点击编辑,将指针移到开头加上 ;    ,然后在分号前面输入mysql的bin目录路径即可。

这样每次在dos窗口就不需要加路径这么长的前缀了  只需要输入   mysql -u root -p  等等  就行了

但是系统一关机再开机之后 mysql这个服务是没有自启动的,每次重启机器后 都需要 在管理员dos窗口运行一次  mysqld

这样每次都需要手动执行一遍mysqld  太麻烦了  这里就可以制作成windows服务

4、制作windows服务

可在图形中点击启动按键

也可在dos(管理员)输入   net start MySQL   启动

            net stop MySQL   停止

三、MySQL软件管理

1、在windows下指定配置文件

ps:配置文件中的注释可以有中文,但是配置项中不能出现中文

#在mysql的解压目录下,新建my.ini,然后配置
#1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
default-storage-engine=innodb
innodb_file_per_table=1 #解压的目录
basedir=E:\mysql-5.7.19-winx64
#data目录
datadir=E:\my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据 #2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123 #3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
[mysql]
;port=3306
;default-character-set=utf8
user=egon
password=4573 #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准

my.ini

2、统一字符集

#1. 修改配置文件
[mysqld]
default-character-set=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 #mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8 #2. 重启服务
#3. 查看修改结果:
\s
show variables like '%char%';

四、连接SQL

数据库的结构大致也分为

  文件夹【数据库】

    文件【表】

     数据行【行】

这样的结构

SQL语句 概括即为(CURD)增改查删

默认的用户  超级管理员 :  root   

初始状态下,管理员root,密码为空,默认只允许从本机登录localhost
设置密码
mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用
mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码

设置密码

show databases;
use 数据库名称; show tables; select * from 表名; select name,age,id from 表名; mysql数据库user表
use mysql;
select user,host from user;

用户管理

创建用户
create user '用户名'@'IP地址' identified by '密码';
删除用户
drop user '用户名'@'IP地址';
修改用户
rename user '用户名'@'IP地址'; to '新用户名'@'IP地址';;
修改密码
set password for '用户名'@'IP地址' = Password('新密码') PS:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

创建用户和授权

   创建用户:
create user '用户名'@'IP地址' identified by '密码';
create user '用户名'@'192.168.1.%' identified by '密码';
create user '用户名'@'%(代表任意)' identified by '密码';
show grants for '用户'@'IP地址'     -- 查看权限 授权:
grant select,insert,update on 库名.表名 to '用户名'@'%';
grant all privileges(代表除授权外的所有权限) on db.表名 to '用户名'@'%'; 解除权限 revoke all privileges on db.表名 from '用户名'@'%'; 实际情况(DBA: 用户名密码 会给对应表 或 库 的相应权限用户)
            all privileges  除grant外的所有权限
select 仅查权限
select,insert 查和插入权限
...
usage 无访问权限
alter 使用alter table
alter routine 使用alter procedure和drop procedure
create 使用create table
create routine 使用create procedure
create temporary tables 使用create temporary tables
create user 使用create user、drop user、rename user和revoke all privileges
create view 使用create view
delete 使用delete
drop 使用drop table
execute 使用call和存储过程
file 使用select into outfile 和 load data infile
grant option 使用grant 和 revoke
index 使用index
insert 使用insert
lock tables 使用lock table
process 使用show full processlist
select 使用select
show databases 使用show databases
show view 使用show view
update 使用update
reload 使用flush
shutdown 使用mysqladmin shutdown(关闭MySQL)
super

MySQL:入门的更多相关文章

  1. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  2. MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法. 源码安装虽然有着更加灵活和更加优化等诸多优势.但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很 ...

  3. MYSQL入门全套(第三部)

    MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找 ...

  4. MySQL入门(三)

    写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...

  5. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  6. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  7. mysql 入门 基本命令

    MYSQL入门学习之一:基本操作  1.登录数据库    www.2cto.com     命令:mysql -u username –p (mysql -h主机地址 -u用户名 -p用户密码)   ...

  8. MySQL入门笔记(一)

    一.数据类型 1. 整型 2. 浮点型 3. 字符型 4. 日期时间型 二.数据库操作 1. 创建库 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_nam ...

  9. MySQL入门(上)

    1 课程回顾 自定义标签&编码实战 1)自定义标签步骤: 1.1 编写标签处理器类,继承SimpleTagSupport类,覆盖doTag方法 1.2 在WEB-INF目录下建立tld文件,在 ...

  10. 第二章 MySQL入门篇

    第一章 MySQL入门篇 一.MySql简介 简言: 和SQL Server数据库相同,MySQl也是一个关系型数据库管理系统.由瑞典的MySQL AB公司开发,2008年被SUN公司收购,2009年 ...

随机推荐

  1. node.js常用命令

    安装node 验证是否安装node $node -v $npm -v npm node package manager , Node 的包管理器 安装 包 # 安装到当前目录 $ npm instal ...

  2. SSAS有几种模式?

    SQL2012中两种,SQL2016好像有三种,下面的第三种好像是2016才有.

  3. Drupal V7.3.1 框架处理不当导致SQL注入

    这个漏洞本是2014年时候被人发现的,本着学习的目的,我来做个详细的分析.漏洞虽然很早了,新版的Drupal甚至已经改变了框架的组织方式.但是丝毫不影响对于漏洞的分析.这是一个经典的使用PDO,但是处 ...

  4. Windows开发经验 - Visual Studio 2017

    1. 调试子进程 Visual Studio 2017及更早的版本原生不支持调试子进程,不确定未来是否会支持.可以通过官方插件让Visual Studio能够调试子进程. https://market ...

  5. Web安全之CSRF攻击的防御措施

    Web安全之CSRF攻击的防御措施   CSRF是什么? Cross Site Request Forgery,中文是:跨站点请求伪造. CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击 ...

  6. (转)DB2高可用性灾难恢复

    DB2 HADR概述 原文:https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0508luojunkai/

  7. 【gcc】命令记录

    编译程序gcc -o <eecutable> <soure_code.c>

  8. redis的 list

    redis的list是一个双向链表,既可以用作栈,也可以用作队列,幸好大学学过数据结构,还有印象. 栈:先进后出,队列:先进先出 redis链表操作: 应用场景学习list链表:要获取最新的10个登录 ...

  9. C 扩展库 - mysql API CRUD

    CRUD table create table if not exists `student` ( `id` int auto_increment, `name` varchar(16) not nu ...

  10. Linux常用命令之tr

    tr NAME tr - translate or delete characters 可以对来自标准输入的字符进行替换.压缩和删除.它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很 ...