写给小白的mysql入门教程

这篇文章主要是写给小白看的,从mysql基础为大家讲起。

 

mysql简介

 

 1、什么是数据库 ?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲述的是mysql

 

2、数据库管理是干什么用的?

a. 将数据保存到文件或内存

b. 接收特定的命令,然后对文件进行相应的操作

PS:如果有了以上管理系统,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMS,Database Management System)

 

mysql安装

 

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

使用mysql必须具备一下条件

a. 安装MySQL服务端

b. 安装MySQL客户端

b. 【客户端】连接【服务端】

c. 【客户端】发送命令给【服务端MySQL】服务的接受命令并执行相应操作(增删改查等)

1、下载地址:http://dev.mysql.com/downloads/mysql/

2、安装

 注:以上两个链接有完整的安装方式,撸主也是参考他的安装的,安装完以后mysql.server start启动mysql服务

 

mysql操作

 

 一、连接数据库

 

mysql  -u user -p                   例:mysql -u root -p

 常见错误如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running.

退出连接:

QUIT 或者 Ctrl+D

 

二、 查看数据库,创建数据库,使用数据库查看数据库: show databases;

 

默认数据库:

          mysql - 用户权限相关数据

          test - 用于用户测试数据

          information_schema - MySQL本身架构相关数据

 

创建数据库:     

               create database db1 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;     # utf8编码

 

               create database db1 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; # gbk编码

使用数据库:     use db1;

 显示当前使用的数据库中所有表:SHOW TABLES;

 

三、用户管理

创建用户

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

删除用户

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

修改用户

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

修改密码

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

注:用户权限相关数据保存在mysql数据库的user表中,所以也可以直接对其进行操作(不建议)

四、权限管理

mysql对于权限这块有以下限制:

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                   ��使用change master、kill、logs、purge、master和set global。还允许mysqladmin����调试登陆

            replication client      服务器位置的访问

            replication slave       由复制从属使用

对于数据库及内部其他权限如下:

            数据库名.*           数据库中的所有

            数据库名.表          指定数据库中的某张表

            数据库名.存储过程     指定数据库中的存储过程

            *.*                所有数据库

对于用户和IP的权限如下:

            用户名@IP地址         用户只能在改IP下才能访问

            用户名@192.168.1.%   用户只能在改IP段下才能访问(通配符%表示任意)

            用户名@%             用户可以再任意IP下访问(默认IP地址为%)

1、查看权限:

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

2、授权

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

 

3、取消授权

revoke 权限 on 数据库.表 from '用户'@'IP地址'

授权实例如下:

grant all privileges on db1.tb1 TO '用户名'@'IP'

 

grant select on db1.* TO '用户名'@'IP'

 

grant select,insert on *.* TO '用户名'@'IP'

 

revoke select on db1.tb1 from '用户名'@'IP'

 

 

 

文章来自:博客园/张岩林

你可能感兴趣的:(写给小白的mysql入门教程)