上一次安装好mysql数据库以后并没有登录操作,这次来简单介绍下mysql的基本操作


一.访问mysql数据库(经过安装后的初始化过程,mysql数据库的默认管理员用户名为:“root”,密码为空;注意此root并非是linux系统管理员的root账号)

1.登录mysql

未设置密码时,mysql后加“-u”指定用户就可以了

wKiom1aPVk6Tqj3pAACxvHw5tdk087.jpg

如果root设置了密码,还需要在用户名后面加“-p”选项指定密码

wKioL1aPWU-QbldZAADF6QhGkBk687.jpg


2.执行mysql操作语句

wKiom1aPWtfgWU4YAABXCjb8B2Q968.jpg

注意:每一条mysql语句以分号;表示结束,mysql中不区分大小写,但习惯上将mysql语句中的关键字部分大写


3.退出mysql(可以使用命令exit或者quit都可以退出mysql数据库)

wKioL1aPW5zASAXkAAASrORPsw8071.jpg


二.管理mysql数据库结构

1.查看当前数据库服务器中有哪些库,命令:show databases;
wKioL1aPap_Dr_lMAABm6h0IfOU447.jpg


2.查看当前数据库中有哪些表(这里以game库为例)

wKiom1aPa4rgBM9FAABy9_jzVZI490.jpg


3.查看表的结构(这里以game库中的users表为例,当然前提也需要切换到game库)

wKiom1aPaaOAjF-mAABgw0J26KU713.jpg


4.创建新的库

命令:create database 库名

wKioL1aPY3DzDolaAAAb4iHZa_c817.jpg


5.创建新的表

命令:create table 表名 (字段1名称 类型,字段2名称 类型,...,primary key (主键名))

wKiom1aPZP6jyXNEAABcfKgO5cA205.jpg

说明:字段就是表格中的列,类型是指这个列中输入的数据类型,主键的值不能重复

上图中,要创建的表名是“users”;在表中创建的第一列列名为“name”并且此列中数据为不超过16个字节的字符串;第二列列名为“passwd”并且此列数据为不超过20个字节的字符串,默认值为空;最后是主键里面的数值,也就是“name”列的里面数据不能重复


6.删除一个数据库

命令:drop database 库名

wKiom1aPbQODKcubAAAa7STTyn0220.jpg


7.删除一个表

命令:drop table 库名.表名

wKiom1aPbUixlx2NAAAbtI4SmEM328.jpg

说明:game库中的表用“库名.表名”来表示,库名与表名之前以"."分隔


三.数据的管理(增、删、改、查)这里还以之前game库中的users表为例

1.增—插入新的数据

命令:insert into 表名(字段1,字段2...) values(字段1的值,字段2的值...)

wKioL1aPct_Cof4kAAA_A2K79RM088.jpg

说明:先切换到game库,然后在users表中插入数据,name列插入zhangsan;passwd列插入123456,password这里的是用来加密数据的,将后面括号里的123456加密成为密文

注意:当表中要输入字符型和日期型数据时,需要使用单引号''括起来


2.查—查看数据

命令:select 字段名1,字段名2,... from 表名 where 条件表达式

wKioL1aPeV7yd53yAADhnaUTrCE557.jpg


3.改—修改数据

命令:update 表名 set 字段名1=字段1值,字段名2=字段值2 where 条件表达式

wKioL1aPfpvB2EAoAADWuwX8Msw090.jpg


4.删—删除数据

命令:delete from 表名 where 条件表达式

wKioL1aPgTCimx_EAACyS9MKXqk166.jpg


四.对mysql数据库用户的权限的控制

1.授予权限(由于mysql数据库的root账号拥有对所有库、表的全部权限,频繁使用root账号会给数据库增加一定的风险,所以实际工作中,通常会建立一些权限低的用户,只负责一部分库、表的管理和维护操作)

命令: grant 权限列表 on 库名.表名 to 用户名@来源地址 [identified by '密码']

wKiom1aPlzLAfjpfAAAuXqUtsN0596.jpg

说明:

grant语句:专门用来设置数据库用户的权限,当用户不存在时,会创建新用户;当用户存在时,用于修改用户信息(注意此用户是mysql数据库自行创建的用户,与linux系统中的用户无关,数据库用户信息保存在mysql库的user表中)

  • 权限列表—用于列出授权使用的各种操作,以逗号分隔,使用"all"代表所有权限。上图中是授予插入和查询的权限

  • 库名.表名—用于指定授权操作的对象是哪个库的哪个表,使用通配符"*"代表所有。上图中的授权操作的对象是game库中的所有表

  • 用户名@来源地址—指定被授予权限的用户和允许访问的客户机地址(说白了就是谁能连接,从哪能连接),来源地址可以写域名、IP地址,还可以使用通配符"%",表示某个区域或网段内的所有地址,如"%.域名"、"192.168.1.%"等。上图中的localhost代表来源地址为本机

  • identified by—给这个授予权限的用户设置密码,若省略此选项代表密码为空


2.查看权限(用户查看数据库用户的授权信息)

命令: show grants for 用户名@来源地址

wKioL1aPmAfzjuyqAACvDlK4LAY052.jpg


3.撤销权限(用于撤销指定用户的数据库操作权限)

命令: revoke 权限列表 on 库名.表名 from 用户名@来源地址

wKiom1aPmfGw8PoVAACnrtBhZAQ051.jpg

说明:撤销权限后的用户仍然可以连接mysql数据库,但是禁止执行对应的权限。上图中将刚才授予zhangsan的权限撤销后,使用查看权限再查看zhangsan的时候权限已经没有了


五.数据库的备份与还原(及时备份数据库是信息安全管理的重要工作,备份的方法也有很多,比如说上一篇数据库文档中介绍了数据存放的目录/usr/local/mysql/data,我们可以将其打包备份,也可以使用专业的工具导出,这里我们介绍下mysqldump命令)

1.备份指定库中的部分表

命令:  mysqldump [选项] 库名 表名1 表名2 ...> /备份路径/备份文件名

wKiom1aPnx-iRQyPAACG65KrPZE637.jpg

说明:常用的选项就是"-u"和"-p",分别用于指定用户名和密码,这里输入完上面的命令后,还需要输入root的密码才能执行备份工作


2.备份一个或多个完整的库

命令: mysqldump [选项] --databases 库名1 库名2 > /备份路径/备份文件名

wKiom1aPrKfgbuzZAABX8Rs3Bho889.jpg


3.备份mysql服务器的所有库

命令: mysqldump [选项] --all-databases > /备份路径/备份文件名

wKiom1aPoiWzXNsCAAB5Bu89dFQ426.jpg


4.恢复数据库中的表(也就是还原数据库)

命令:  mysql [选项] 库名 表名 < /备份路径/备份的文件名

wKiom1aPrijgDqH2AAAf_b000GQ810.jpg


5.恢复数据库中的库

命令:   mysql [选项] < /备份路径/备份的文件名

wKioL1aPrzyQ2gmpAAAdzpdqA1k699.jpg


六.修改默认管理员root密码

方法一:用于访问数据库的各种用户包括root用户的信息都是保存在mysql库的user表中,可以直接修改其中的数据,如下图所示

wKioL1aPtL-S5MXXAAB719soWaY098.jpg


方法二:在linux系统环境中使用mysqladmin工具来修改

wKioL1aPspmza4dmAAAfxQqWtIo276.jpg

说明:如果是第一次添加密码的时候,不用加“-p”选项


mysql的知识还有的很多,但是基本操作一定要先掌握