mysql linux附加数据库文件夹,Linux全攻略--MySQL数据库配置与管理

MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL"构建电子商务网站的黄金网站的黄金组合.

MySQL不是开放源代码的产品,但在某些情况下可以自由使用.由于它的强大功能,灵活性,丰富的应用编程接口,以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐.

MySQL的特点

MySQL具备非常好的性能,甚至可以和目前的所有商用数据库系统相媲美,MySQL最主要的优点就是"简单,高效,稳定性高".下面是具体的特点:

MySQL可以运行在不同的平台上,如:WINDOWS98/NT/200/2003和RED HAT LINUX.而且在UNIX/LINUX环境下支持多线程的运行方式.

MySQL提供对多种数据库的支持,如:Oracle,Informix,Sybase,也提供对ODBC的支持.

MySQL可以使用多种语言,如:C,C++,JAVA,PERL,PHP等.

MySQL提供非常完善的权限系统

一.安装和启动MySQL

1.安装SQL

先查看安装没.

200811141226662916875.jpg

安装好的可以看到如图的安装包.

2.启动MySQL

200811141226662966437.jpg

200811141226663034375.jpg

两种启动方法.

200811141226663064640.jpg

查看运行状态

如果希望MySQL在下次系统启动时自动启动,可用下面的命令:

#ntsysv或在services菜单中将mysqld 选中.

二.MySQL实用程序简介

MySQL安装完成之后,可以在/usr/bin路径下找到MySQL实用程序.

safe_mysqld  :一个脚本文件,用于以安全的方式启动mysqld 守护进程,其安全包括:当一个错误发生时,有能力重启服务器并且将运行时的信息记录到一个日志文件中.

mysql :一个基于命令行的MySQL客户端程序

mysql_install_db :用于以缺省权限创建MySQL权限表,该程序通常仅在系统上第一次安装MySQL时执行一次

mysqladmin :用于执行数据库的管理操作,如创建或删除数据库,加载授权表和停止MySQL服务等.也可以用于查看MySQL版本,进程和状态信息

myisamchk:用于描述,检查,优化和修复MySQL中和各个表,并可以显示表的相关信息

mysqlshow:用于显示数据库,表,列和索引等信息

mysqlaccess:一个脚本,用于检查对主机,用户和数据库组合的存取权限

mysqlbug:MySQL错误报告脚本,用于向MySQL邮件列表中添加错误报告

mysqldump:用于将MySQL数据库中的数据导出一个文本文件.

mysqlmport:提供一个到SQL语句LOAD DATA INFILE的命令行接口,通过LOAD DATA INFILE命令,可以将文本文件导入到数据库中.

make_binary_release:用于制作一个编译MySQL的二进制版本

msql2mysql:一个外壳脚本,用于转换MSQL程序到MySQL

replace:一个实用程序,由msql2mysql使用.

三.MySQL数据库的管理与维护.

1.创建数据库

在MySQL数据库系统中,可以使用两种方法来创建数据库,即在客户端程序mysql环境下使用SQL语句CREATE DATABASE或在LINUX的SHELL环境下使用管理工具mysqladmin的子命令CREATE.

200811141226664198578.jpg

200811141226664144937.jpg

创建后查看数据库.可看到存在3个数据库.

200811141226664245937.jpg

这是使用管理工具mysqladmin创建数据库.这样两种方法都介绍了.

2.删除数据库.

同样可以利用上面两种方法实现.

200811141226664338593.jpg

这是使用SQL语句实现

200811141226664507375.jpg

这是使用工具实现.

3.创建和删除表

数据库创建之后,可使用如下命令来在现存的数据库中创建或删除表

200811141226664697015.jpg

在数据库sales中创建四个表.

200811141226664926609.jpg

创建完成之后查看有哪些表,然后进行删除表.

4.查看表结构.

表创建完成后,可使用如下命令来查看表的结构.

200811141226665009062.jpg

可以看到表中的数据结构.

5.向表中添加并查看数据.

200811141226665104984.jpg

200811141226665116203.jpg

添加后进行查看表中的数据.

6.维护索引

MySQL数据库表的所有列类均可创建索引,一个表最多可有16个索引,同时,MySQL可以在一个表的多个列上创建索引,一个索引可以由最多15个列组成.

1)创建索引.

200811141226665271265.jpg

创建test表,同时使用name列的前10字符创建索引.创建后进行查看.

200811141226665357093.jpg

使用CREATE INDEX语句为现存表employee中的name列创建索引.

200811141226665430671.jpg

使用ALTER TABLE语句为现存表products中的name列创建索引.

2)删除索引

可以使用DROP INDEX或ALTER TABLE语句.

200811141226665590359.jpg

使用SHOW查看的时候,可知被删除了.

200811141226665623703.jpg

使用ALTER语句删除.

四.MySQL数据目录和日志文件

1.MySQL数据目录的位置.

默认情况下,通过RPM包安装的MySQL数据目录为/var/lib/mysql.

200811141226665826359.jpg

查看配置文件my.cnf 的内容.

200811141226665869468.jpg

使用工具查看.

2.MySQL数据目录的结构.

MySQL数据目录中包含了由服务器管理的所有数据库和表,它们被组织成一个树状结构,该结构是通过LINUX文件系统的层次结构用简单的方式实现.

MySQL每个数据库都对应自己的数据库目录,这些数据库目录作为子目录存储在MySQL数据目录中,与其所代表数据库名称相同.

200811141226666074578.jpg

可看到有3个数据库目录.

数据库中的表对应数据库目录中的文件,每个表在数据库目录中都对应3个文件.一个是格式文件,一个数据文件和一个索引文件.每个文件的基本名称都与该表相同.扩展名指明该文件的类型.如下:

格式文件:.frm

数据文件:.MYD

索引文件:.MYI

通过下面的操作可以查看数据库目录中的表文件.

200811141226666275875.jpg

显示mysql数据库中目录的表文件.

3.MySQL日志文件.

这些文件提供了关于服务器运行的重要信息,对数据库的管理和维护是非常重要的.

1)错误日志.包含了服务器写入标准错误输出设备的所有消息,同时还包含了MySQL服务的启动和关闭事件.错误日志是由实用程序safe_mysqld产生,因此在通过调用safe_mysqld启动MySQL服务时,错误日志才会存在.

默认情况下,错误日志并不存储在MySQL数据目录中,是由于配置文件/etc/my.cnf中指定为/var/log/mysqld.log.

200811141226666602203.jpg

可看到err-log这一行指定了错误日志文件为/var/log/mysqld.log.

200811141226666666828.jpg

这是用命令#less /var/log/mysqld.log返回错误日志的内容.其中对MySQL服务的启动和关闭做了记录.

2)常规日志和更新日志.常规日志是用来记录有关MySQL服务器运行的常规信息,包括用户的连接,查询以及其它各种事件.更新日志用来记录修改数据库的查询信息.

常规日志和更新日志默认情况下并没启用.

可根据需要启用.

200811141226666924343.jpg

200811141226666889640.jpg

添加log   log-update选项来启用更新日志.

五.MySQL数据库用户和权限

MySQL提供了一个非常实用的权限系统,用于管理和控制某个用户使用其所提供的主机名,用户名和密码能否连接到指定的数据库服务器,能否打开所需数据库和能否对热气进行读取,添加,修改和删除等操作.

1.系统数据库mysql

MySQL内置了一个系统数据库mysql,其中包含存放着权限系统所需要的数据的授权表.当MySQL服务器启动时,会首先读取系统数据库mysql中的授权表,亲将表中相关的数据库装入内存;当用户连接数据库服务器并对数据库进行存取操作时,MySQL会根据这些表中的数据做相应的权限控制.因此,在设置用户的存取权限时,必然要对mysql数据库有关的表进行修改.

mysql数据库中用于权限系统的授权表主要包括user,db,host,tables_priv,columns_priv.可以启用客户端程序mysql.执行show tables命令进行查看.

2.MySQL权限系统的工作原理

MySQL权限系统保证所有的用户可以严格按照事先分配好的权限对数据库进行允许的操作.

1)第一阶段--连接验证阶段.

用户的身份根据两个信息来确定,即从哪个主机连接和使用哪个MySQL用户.连接验证需要使用系统数据库mysql中user表的Host,User和Password 共3个范围字段.

2)第二阶段--请求验证阶段.

这一阶段,MySQL权限系统将会检查用户所发出的每一个对于数据库的操作请求,以确定用户是否具有足够的权限来执行这一操作.

3.连接MySQL服务器

要想使用mysql客户端程序对数据库进行管理,首先需要连接将要管理的MySQL服务器.连接时,需要指定主机名,用户名和口令.

4.MySQL的初始权限.

MySQL安装完成之后,在启动MySQL服务时,会加载授权表中的初始权限设置,这些初始权限存储在user和db表中.主要包括:

内置一个口令为空的root用户,是超级用户.使用root用户连接服务器时,必须由本地主机(localhost)发出.

内置一个匿名用户,该用户可对有一个名为"test"或名称以"test_"开始的数据库进行任何操作.使用匿名用户连接服务器时,也必须由本地主机发出.

其它权限均被拒绝.

5.设置MySQL超级用户root口令.

200811141226668353484.jpg

将口令设置为crq

200811141226668755203.jpg

看最后一个是将匿名用户删除.

6.设置MySQL数据库权限示例.

1)添加新的用户权限.

200811141226668985265.jpg

使用root登录后,使用GRANT语句来添加一个可以从本地主机连接到MySQL服务器的用户crq,但连接时必须使用口令crqpass.

200811141226669116015.jpg

使用同样的方法添加一个可以从其它任何地方连接到MySQL服务器的超级用户crq,使用口令为crqpass.

2)授予用户特定的权限

200811141226669203406.jpg

200811141226669208765.jpg

使用GRANT语句添加一个可以从本地主机连接到MySQL服务器的用户yang,并且授予其针对sales数据库中enployee表的select 和insert权限.

200811141226669395234.jpg

查看数据库中的表.

200811141226669446062.jpg

退出重新连接数据库服务器.

200811141226669470953.jpg

表明当前用户yang仅针对表employee具有操作权限,用户不具有操作权限的表对于该用户来说是不可视的,不会出现在列表中.

200811141226669545187.jpg

表明当前用户对表有SELECT权限.

200811141226669585000.jpg

表明当前用户有INSERT权限.

200811141226669621093.jpg

当前用户不允许对employee表的DELETE权限.

3)撤消用户权限.如果想撤消用户权限,需要使用REVOKE语句.

200811141226669778515.jpg

然后使用>REVOKE INSERT ON sales.employee FROM ;

200811141226669924312.jpg

然后插入数据的时候就不行了,说明yang 针对employee表的insert权限已被撤消.

7.MySQL数据库的备份和恢复

200811141226670026750.jpg

把数据库sales备份到mysql.bak目录.然后查看备份成功.

200811141226670074375.jpg

先删除数据库sales,再创建. sales.

200811141226670180312.jpg

可看到恢复成功.

到这里全部介绍完毕.

本文出自 “yangming.com” 博客,转载请与作者联系!

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

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

相关文章

互联网如何促进经济发展?腾讯、谷歌、Facebook的实践和经验

来源:腾讯研究院右起:司晓 腾讯研究院院长李刚 腾讯研究院首席研究员Nicole Sremlau 牛津大学比较媒体法与政策项目负责人Pankaj Venugopal Facebook公司副总法律顾问Olivia Hatalsky Alphabet公司高级项目经理互联网正在成为社会生态的连接器&…

Execution in the Kingdom of Nouns (名词王国中的死刑)

来源:http://www.cnblogs.com/bigfish--/archive/2011/12/31/2308407.html Steve Yegge的大作 Execution in the Kingdom of Nounshttp://steve-yegge.blogspot.com/2006/03/execution-in-kingdom-of-nouns.html THURSDAY, MARCH 30, 2006 Execution in the Kingd…

linux 串口text模式安装,使用串口安装centos操作系统

使用CSS3 Media Queries实现网页自适应原文来源:http://webdesignerwall.com 翻译:http://xinyo.org 当今银屏分辨率从 320px (iPhone)到 2560px (大屏显示器)或者更大.人们也不 ...Ajax读取txt并对txt内容进行分页显示function TransferString(content) { var string content…

汇真科技李利鹏 :人工智能的应用边界

人工智能分为几个层面,首先是基础层,要有大数据云计算,因为你数据量大的话,要放到云端去处理,大数据、云计算、GPU/FPGA等硬件加速、新形态神经网络芯片等计算能力提供商。在技术层就是做机器学习、深度学习、增强学习…

linux java内存清理,Linux服务器用完java内存

寻找解决方法或关于如何找出问题的一些提示。Linux服务器用完java内存使用只显示引用的VisualVM工具查看heapdumps正在举行。有更好的工具可以使用吗?有什么我可以从命令行运行以释放这些引用?使用jconsole GC不起作用,只能延长约5天的锁定时…

中缀到后缀的转换

中缀表达式:ab*c(d*ef)*g 转换成后缀表达式:abc*de*fg* 转换步骤: 当读到一个操作数(如:a)时,立即把它放到输出中; 当遇到操作符(如:)时&#…

CES 2018即将揭幕:AI平台之争烽烟骤起

来源:机器人创新生态概要:一年一度的国际消费电子展(CES)即将揭开序幕,今年有哪些值得观察的热门技术呢?一年一度的国际消费电子展(CES)即将揭开序幕,今年有哪些值得观察…

后缀表达式转变成表达式树

后缀表达式:abcde** 转换的表达式树: 转换步骤: 如果符号是操作数,那么就建立一个单节点树并将它推入栈中。 如果符号是操作符,那么就从栈中弹出两颗树 T1 和 T2 (T1 先弹出)并形成一棵新的树…

linux用户组登录,linux用户和用户组

1.用户组和权限管理用户分为三类:1.1 超级用户:root uid0,简单来说uid为0的用户就是超级用户。1.2 虚拟用户:存在linux中,满足文件或者程序运行的需要,而创建的。不能登录,不能使用。uid1-499,1-999(centos…

人工智能和厨房电器的结合:厨房助理机器人

来源:人工智能学家AItists概要:从智能家居到无人驾驶,人工智能正在落地的道路上。而其中一个让人觉得有点意外也很有趣的场景是:厨房。从智能家居到无人驾驶,人工智能正在落地的道路上。而其中一个让人觉得有点意外也很…

查找N个数中第K大的数

方法一:将一组数放入数组中,升排序。并返回第 ( length - k )个元素这里消耗的时间就是排序用的时间,用快速排序则为:O( N log N )代码: /*** 先排序后获取* return** Date :2012-7-4* Author :GongQiang*/public in…

美国科学院学报:如何在竞争激烈的环境下维持稳定的群体

行为决策演化示意图。最上面一行是混合群体,下面两行是网络群体。相比于混合群体,网络促使合作者聚集成团簇,但是惩罚的加入将破坏合作环境。来源:中国科学院西安光机所李学龙研究员同合作者在数据驱动的行为决策研究方面取得阶段…

linux文本处理脚本题,Linux文本处理工具sed练习题

1、使用sed命令打印出ifconfig ens33的ip地址解:(1)ifconfig ens33 | sed -n 2p | sed s/.*inet // | sed s/netmask.*//(2)ifconfig ens33 | sed -n 2p | sed -r s/.*inet (.*)netmask.*/\1/(3)ifconfig ens33 | sed -r -n 2s/.*inet (.*)netmask.*/\1/p2、使用sed命令打印出系…

全球首个Magic Leap One体验:吓到你不敢进房间

来源:智东西概要:业内备受关注的AR技术公司Magic Leap,在获得19亿美元融资历经七年之后,终于放出其第一款头盔产品Magic Leap One,很快在科技圈、VR圈引起刷屏式关注。昨夜,业内备受关注的AR技术公司Magic …

ftp+linux+使用webdav,群晖-win/mac/nfs ftp tftp webdav文件服务的概念及设置

应用程序级别WebDAV 是一个 HTTP 的扩充服务,可让用户编辑和管理存储在远程服务器上的文件。通过 Synology DiskStation Manager 的 WebDAV 服务,支持 WebDAV 的客户端程序(如 Windows 资源管理器、Mac OS Finder、Linux 资源管理器)将能够远程访问 Syno…

二叉堆

满足如下结构性和堆序性,即为二叉堆。 结构性质:堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树。 容易证明,一棵高为 h 的完全二叉树有 2h 到 2h1-1 个节点。这…

linux模式匹配运算符,linux之正则表达式

文件查找的需要:grep:(GLOBAL Research) 根据模式(网)去搜索文本,而后将符合模式的文本行显示出来。【部分匹配,显示时显示一行】Pattern:模式。(文本字符以及正则表达式元字符组合而成的匹配条件)例子:grep‘root’/e…

伯克利AI研究院解析「反向课程学习」,改善「强化学习智能体」并应用于机器人技术

原文来源:arXiv作者:Wieland Brendel、Jonas Rauber、Matthias Bethge「雷克世界」编译:嗯~阿童木呀、哆啦A亮众所周知,强化学习(RL)是一种强大的技术,它能够解决诸如移动(locomotio…

《Science》评选2017年十大科学突破,看看有哪些吧!

来源:材料科学与工程概要:美国《科学》杂志21日公布了其评选出的2017年十大科学突破,人类首次观测到双中子星并合事件被选为头号科学突破。美国《科学》杂志21日公布了其评选出的2017年十大科学突破,人类首次观测到双中子星并合事…

linux 第三章红帽子,红帽子 Linux_命令全解

118.Ctrlz 把程序放入后台运行-暂停状态,Ctrlc 终止进程,整洁关闭119.jobs 作业列表120.bg [%作业号] 后台恢复运行121.fg [%作业号] 前台恢复运行122.(date;who | wc -l ) >> logfile 聚集命令(),生成subshell全部发送123.echo $? 保…