基于Linux下的MySQL数据库的研究.docx
- 文档编号:30406042
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:20
- 大小:382.32KB
基于Linux下的MySQL数据库的研究.docx
《基于Linux下的MySQL数据库的研究.docx》由会员分享,可在线阅读,更多相关《基于Linux下的MySQL数据库的研究.docx(20页珍藏版)》请在冰豆网上搜索。
基于Linux下的MySQL数据库的研究
基于Linux下的MySQL数据库的研究
学生姓名:
XXX指导老师:
XXX
摘要本课程设计主要研究基于UbuntuLinux下的MySQL数据库的安装与配置。
在Linux操作系统下,MySQL的安装支持二进制包、源码包等方式安装方式,本设计主要是以源码包的形式安装MySQL并通过选择不同的配置文件来满足各种实际需求。
本次课程设计通过多次实践测试,成功实现了基于Linux下的MySQL数据库的安装与配置,最后给出了Linux环境下MySQL的各种基本操作实例。
关键词:
UbuntuLinux;MySQL;源码包;数据库
TheLinux-basedInstallationandConfigurationofMySQLDatabase
Student:
BinLauAdvisor:
ZHOUShu-Ren
AbstractThiscoursestudiesthedesignofLinux-basedinstallationandconfigurationofMySQLdatabase.IntheLinuxoperatingsystem,MySQLsupportfortheinstallationofbinarypackage,sourcepackagesinstallation,etc.thedesignisbasedontheformofsourcepackagesinstallationandtheinstallationofMySQLbyselectingadifferentconfigurationfiletomeettheactualneedsofallkinds.Thepracticeofcurriculumdesignthroughnumeroustests,basedonthesuccessfulimplementationoftheMySQLdatabaseunderLinuxinstallationandconfiguration,andfinallyisgivenLinuxenvironmentMySQLexamplesofavarietyofbasicoperations.
KeyWords:
UbuntuLinux;MySQL;SourcePackages;DataBase
1引言
经过一段时间的学习有关网络和Linux的学习才进行,在Linux平台做这样的课程设计有一定的难度这个必然的。
对于本课程设计我花了相当一部分时间在研究Linux,由于它是我最近才真正接触的操作系统,所以在这个课程设计必然会有一些不合人意的地方。
1.1课程设计的意义
该课程设计是在我学过了计算机网络以及RedHatLinux[1]后进行的。
我所使用的不是RedHatLinux平台并且对Linux并不熟悉,再加上使用UbuntuLinux[2]操作系统,所以对我而言绝对是一个挑战。
为什么我会使用UbuntuLinux呢?
原因一与课程设计的题目有关,这部分内容与书上的相关,并且书上所写的方法不能够体现Linux命令的使用;原因二UbuntuLinux是现在世界上用户最多的一个平台,相当稳定。
所以借此次机会边学习UbuntuLinux边做课程设计,一举两得。
开源在IT领域已经是不可抵挡的潮流,都提倡开源,当然还有一些地方没有做到开源,尽管开源势不可挡。
Linux有许多种类型,但是内核是一样。
在不同的Linux平台下,相应的指令系统有所不通,但是大体上没有很大的区别。
然而众所周知,在Windows操作系统下,MySQL的安装实在是简单,而Linux作为一个开源的操作系统,许多新接触此开源系统和开源数据库的人不知道如何去在Linux下安装和配置MySQL。
本课程设计便是在此情景下通过对Linux和MySQL的理解和掌握而设计的,并成功实现了预期的功能。
1.2课程设计的目的
对于该课程设计,目的有三个:
(1)学习在Linux平台下对MySQL进行安装和配置
(2)熟悉并掌握UbuntuLinux的独有命令
(3)熟悉MySQL操作命令
1.3相关概念简介
(1)UbuntuLinux
Ubuntu十分重视系统安全,所有系统相关的任务均需使用sudo[3]指令是它的一大特色,这种方式比传统的以系统管理员帐号进行管理工作的方式更为安全,此为Linux、Unix系统的基本思维之一。
同时,Ubuntu也相当注重系统的易用性,标准安装完成后,一开机就可以投入使用,简单地说,就是安装完成以后,用户无需再费神安装浏览器、Office套装程序、多媒体播放程序等常用软件,一般也无需下载安装网卡、声卡等硬件设备的驱动,但部份显卡需要额外下载的驱动程序,且不一定能用包库中所提供的版本。
Ubuntu的开发者与Debian和GNOME[4]开源社区合作密切,其各个正式版本的桌面环境均采用GNOME的最新版本,通常会紧随GNOME项目的进展而及时更新,同时,也提供基于KDE、XFCE等桌面环境的派生版本。
Ubuntu与Debian使用相同的deb软件包[5]格式,可以安装绝大多数为Debian编译的软件包,虽然不能保证完全兼容,但大多数情况是通用的。
在这里我使用的Ubuntu8.10Intrepid-Ibex(无谓的山羊)。
(2)MySQL
MySQL是一个真正的多用户、多线程SQL数据库服务器[6]。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。
例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
MySQL主要目标是快速、健壮和易用。
最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。
自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。
尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
对与它的未来,MySQL的开发将继续以快速进行着。
事实上,开发步伐对大多数开放源代码是一种挑战。
本文提到的几个抱怨中有很多新功能正在解决,然而,我将不对还没确实存在的特征做评价。
开发者们向我表明了在未来的开发中把增加查询功能和提高查询速度作为最高优先级。
2MySQL的下载与安装
我们在Windows操作系统下安装任何的应用程序都不是很问题,只要点开setup.exe文件。
我们就可以一直下一步或者中间要选择安装路径,但是那些都是一些非常简单的操作,只要一个会用电脑的人,我想他也是懂得安装这些软件的。
但是在Linux下就有所不一样,就单单的操作已经对一些人是一个难题了。
下面我将介绍这个软件的安装。
2.1Linux平台下MySQL的下载
在Linux平台下,要下载MySQL可以采用两种方法,一种是通过网页直接下载,这种下载方式和Windows下载方式没有区别,另一种是通过命令行方式下载。
本课程设计采用两种方式结合。
由于我是用的是源码包安装,所以我下载了mysql-5.1.34.tar.gz,在网址
2.2Linux平台下MySQL的安装
在Linux平台下安装MySQL和Windows平台下安装有所不同,但也有相同的地方,都有图形界面安装方式,我不会用这种方式安装。
在此课程设计中,我采用源码包的方式安装MySQL,源码包安装方式有需要在网上下载相关文件,如果是网速不好或没有联网的方式的地方是无法安装的。
如果网速不好可以考虑换源,由于Ubuntu默认源是非洲地区的,而我们是中国地区,所以可以换一个源,尽量离中国比较近的地方,比如韩国、日本、俄罗斯的都可以。
所以具体安装如下步骤:
如果你是刚安装的Ubuntu首先换源[7],这是为了源码包安装是的下载快捷做的准备工作:
(1)备份旧源到/etc/apt/sources.list.backup
sudocp/etc/apt/sources.list /etc/apt/sources.list.backup
(2)用gredit编辑sources.list文件,当然也可以使用vi工具;
sudogedit/etc/apt/sources.list
(3)删除sources.list文件下的源地址全部删除,再把以下的源地址复制到sources.list文件里面并且保存;
debgutsymainrestricteduniversemultiverse
debgutsy-securitymainrestricteduniversemultiverse
debgutsy-updatesmainrestricteduniversemultiverse
debgutsy-proposedmainrestricteduniversemultiverse
debgutsy-backportsmainrestricteduniversemultiverse
deb-srcgutsymainrestricteduniversemultiverse
deb-srcgutsy-securitymainrestricteduniversemultiverse
deb-srcgutsy-updatesmainrestricteduniversemultiverse
deb-srcgutsy-proposedmainrestricteduniversemultiverse
deb-srcgutsy-backportsmainrestricteduniversemultiverse
debgutsymainrestricteduniversemultiverse
debgutsymainrestricteduniversemultiverse
为了保证安装顺利进行,还需要安装一些语言环境如perl[8],以及编译环境gcc和g++,以及相关的软件libncurses5-dev和kdelibs_devkdelib[8],主要原因是Ubuntu里面可能没有这些软件,以下所有安装不需要验证。
(1)安装perl、gcc、g++,命令部分截图如图2.1所示:
sudoapt-getinstallg++gccmakeautomakeperl
图2.1安装perl、gcc、g++部分截图
(2)安装libncurses5-dev、kdelibs_dev和kdelib
sudoapt-getupdate
apt-getinstallbuild-essential
sudoapt-getinstalllibncurses5-dev
sudoapt-getinstallkdelibs4-dev
sudoapt-getinstallkdelibs4c2a
以上的语言环境和编译环境安装完毕后,就开始进行正式安装步骤:
1.解压下载好的源码包mysql-5.1.34.tar.gz,由于我把这个源码包直接放在了桌面,所示指令,操作如图2.2所示:
tarzxvf/home/Antino/桌面/mysql-5.1.34.tar.gz
图2.2解压源码包
(2)进入解压后的文件目录结果如图2.3所示:
图2.3cd命令进入解压后的文件夹
(3)指定安装目录,命令如图2.4所示:
图2.4安装目录设置
(4)用make命令编译当前目录下的所有必要的的文件,命令如图2.5所示:
图2.5make编译命令
(5)编译完成后使用下面命令进行安装,如图2.6所示:
sudomakeinstall
图2.6MySQL安装命令
(6)复制源码包内的设置文件到/etc/系统统一的设置文件路径,命令及图2.7如下:
sudocpsupport-files/my-f/etc/bin/f
图2.7设置文件复制
(7)添加用户组mysql并在用户主里面添加用户mysql,用户组和用户名可以随便取名:
sudogroupaddmysql
sudouseraddmysql
(8)用户权限设置,注意第一条和第三条命令后面的“.”不要遗漏,如图2.7所示:
sudochown-Rroot.
sudochown-Rmysqlvar
sudochown–Rmysql.
图2.7用户权限设置
到这里,MySQL基本安装完成,下一节将进行MySQL配置,事实上前面的安装所移动的文件也是配置的一部份,下面将彻底进行MySQL配置。
3MySQL的配置
安装软件的前序步骤我相信也不是很难,但是配置却是一个很重要的环节,一个软件是否配置好,直接关系到一个软件的运行和操作的难以程度。
下面我将介绍MySQL的配置过程。
3.1登录MySQL
MySQL登录命令是mysql,mysql的使用语法如下:
mysql[-uusername][-hhost][-p[password]][dbname]
username与password分别是MySQL的用户名与密码。
MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
这里要明白一个概念,所谓root用户是所有用户中权限最多的用户,对于不同应用程序或者系统很多都是有用户的,也都设置用户权限,所以在这里所说的root用户只是MySQL数据库的一个超级用户,和前面图面里面的root不一样,那是Linux下的一个超级用户。
图3.1是刚安装好的MySQL使用mysql所显现的状态,使用exit或者quit表示退出:
图3.1mysql首次运行
对MySQL数据库的超级用户root修改密码,当修改后,如果还是想上面一样的操作就会报错。
增加了密码后的登录格式如下:
mysql-uroot-p
Enterpassword:
(输入密码)
其中-u选项表示后面紧跟着的是用户名username,-p选项表示需要输入密码才可以进入MySQL系统,回车后在输入密码处输入密码。
这里有一个需要注意的地方,所有的密码在Linux系统下都是以空白的形式显现在用户面前,所以当你输入了密码却没看到有密码的痕迹的时候不要认为你没有输入密码或者光标不在当前位置。
3.2MySQL的几个重要目录
对于MySQL有一个重要的地方需要注意,那就是都目录里面的脚本有一定的了解,这样才能够很好地快捷地使用这些命令。
MySQL安装完成后不象SQLServer默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
所以接下来会对以下的几个目录进行简单的介绍。
主目录下的文件夹如图3.2所示:
图3.2MySQL下所有文件夹
下面就介绍一下这几个目录。
(1)数据库目录相当放置客户所创建数据库,数据表等内容。
/var/lib/mysql/
(2)配置文件,如mysql.server命令及配置文件,mysql.server命令可以对mysql进行启动和停止
/share/mysql
(3)相关命令目录,这是一个最重要的目录,绝大部分的脚本命令都在这个文件面这个文件夹里面的命令也是最常用的命令,如mysql_config、myql_install_db、mysqladmin等等。
/mysql/bin
(4)include文件夹
这个文件夹里面主要是一些头文件,是支持MySQL正常运行的一些文件,就如同写程序是的头文件一样。
3.3修改登录密码
MySQL默认是没有密码,但是对于一个数据库而言没有密码,就相当于一个人家里没有门一样可以随便进出,显然没有密码是相当不好的。
(1)命令
mysqladmin-urootpasswordnew-password
格式:
mysqladmin-u用户名-p旧密码password新密码,例如给root加个密码123。
由于开始root用户没有密码,所以“-p旧密码”可以省略,键入以下命令:
bin/mysqladmin-urootpassword123
图3.3是修改密码的截图:
图3.3root用户密码修改
(2)测试是否修改成功
不用密码登录,也就是是直接使用mysql直接登录。
用修改后的密码登录,也就是使用命令mysql-uroot--password进行登录。
这里要注意password前面是两条杠,图3.4是测试结果:
图3.4密码修改测试结果
3.4启动与停止
(1)启动
方法一、使用mysql.serverstart进行启动,使用ps–e查看进程,看mysql是否启动了结果如图3.5和图3.6所示:
图3.5使用mysql.serverstart启动服务
图3.6使用ps-e显示进程
方法二、使用servicemysqlstart进行启动,这个不需要查看进程就可以知道它是否已经启动了,如图3.7所示:
图3.7使用servicemysqlstart启动服务
(2)停止
方法一、使用命令mysqladmin-uroot-pshutdown停止,如图3.8所示,并且使用ps–e查看进程,看进程是否被关闭,结果显示如图3.9所示,由于最近运行的进程默认情况下是在靠下显示,所以图3.9是部分截图,可以看出里面已经没有mysql和mysqld_safe进程了。
图3.8使用命令mysqladmin-uroot-pshutdown停止服务
图3.9进程显示
方法二、使用命令mysql.serverstop进行启动,结果如图3.10所示,使用ps–e可查看所有进程。
图3.10使用mysql.serverstop停止服务
3.5更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。
假如要把目录移到/home/data下需要进行下面几步:
(1)/home/antino目录下建立data目录
cd/home/antino
mkdirdata
(2)把MySQL服务进程停掉
mysqladmin-uroot-pshutdown
(3)把/var/lib/mysql整个目录移到/home/antino/data
mv/var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
(4)搜索f配置文件
如果/etc/目录下找f配置文件命令如下:
cp/home/antino/mysql/share/mysql/my-f /etc/f
(5)编辑MySQL的配置文件/etc/f[9]
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。
修改socket=/var/lib/mysql/mysql.sock一行中等号右边的为:
/home/antino/mysql/mysql.sock。
操作如下:
vi f
#TheMySQLserver
[mysqld]
port=3306
#socket=/var/lib/mysql/mysql.sock
socket=/home/data/antino/mysql/mysql.sock
(6)修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:
home/antino/data/mysql。
vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql
datadir=/home/antino/data/mysql
(7)重新启动MySQL服务
share/mysql.serverstart
或用reboot命令重启Linux
经过查看进程表,发现启动成功。
到此我对MySQL数据库的安装和配置已经完成,下一节将对我所安装和配置的MySQL进行整体的测试。
4MySQL的测试
已经对MySQL安装和配置完成,实用一些实例来对该软件是必要的,只有通过软件的实例测试,才能真正客观地判断出我所安装和配置的MySQL是可用的正确的。
下面我用了以下几个步骤进行测试。
4.1显示数据库
在显示数据库之前使用命令“createdatabasexiejun;”而后使用“showdatabases;”,结果如下图4.1所示:
图4.1数据库的显示
刚安装完MySQL有两个数据库:
mysql和information_schema[10]。
mysql存储了系统的用户权限信息。
information_schema存储了系统中的数据库对象信息,如用户表信息、列信息、权限信息、字符集信息、分区信息等等。
4.2显示数据库中的表
使用以下命令,对数据库中的表进行显示,如图4.2所示:
mysql>usexiejun;
mysql>createtableloginIfo(uname
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux MySQL 数据库 研究