文档说明
上次写了一篇linu x下架设完美私服的文章提到了我想用mysq l架设的想法。这次的安装说明就是为其做准备的。希望大家多多的支持如果有疑问请大家联系我我将想办法为大家解决。我的空间地址在我上一篇的文章中已经给了这里就不再贴了。
本安装说明是本人根据mysql官方给的英文安装说明亲自操作后作出的总结安装环境和操作命令紧密结合具有很大的参考价值。
本文是我原创的转载请注明出处。看文章的朋友最好下载下来用offi ce 2007或者offi ce2010打开文档结构图看这样根据每一章和每一节的标题看思路更加清晰。
文档中“黄色背景”标注的是每部操作的全命令对于没有目录概念的同学来说除了最开始如何把安装包拷贝到/usr/local目录以外照着黄色背景的文字输入比较好。 “红色字体”显示的是值得注意的地方。
环境
Mysql-5.1.62.ta r.gz
Vmware虚拟机安装的Ub untu 12.04-serve r-i386服务器操作系统
Windowsxp 做客户端远程管理m ysql
导言
关于mys ql的安装思路可以用wi ndows下的一个例子来对比着理解。比如说wi ndows上现在下载了一个网络游戏的ZI P压缩包里面是se tup.exe和其他安装必备的程序和数据。我们要进行游戏的安装步骤肯定是
1. 解压缩RA R压缩包得到set up安装程序
2. 双击set up进行安装
3. 安装完成后打开登录程序输入用户名和密码进行游戏
Mysql的安装可以对照着理解
1. 解压解压缩ta r.gz压缩包相当于wi ndows上解压ZI P文件第一章的1.1节的内容
2. 安装l inux的安装其实就是编译执行mak e和mak einsta ll可以理解为运行windows上的se tup程序 第一章的1.2和1.3节的内容
3. 配置第二章介绍的配置其实就好比是在玩网游前要输入账号和密码一样账号和
密码就相当于能进入游戏所需的配置。
第二章的配置部分是有先后顺序的请读者朋友按照文中的顺序来进行mysql的配置。
第一章安装步骤
1.1解压安装包
拷贝下载的安装包到/usr/local 拷贝的方法我就不解释了工具也行命令也行 自选。解压安装包。要注意安装包的操作权限如果roo t用户没有x的权限就加上。
解压命令 tar–xzf mys ql -5.1.62.tar.gz
解压后会出现一个my sql-5.1.62目录这里面就是源码。
1.2添加编译环境
Ubuntu下编译需要如下一些依赖关系 Termcap和g++。安装的命令如下apt-get insta lllibnc urses 5-devapt-get insta llg++apt-get insta llmake
以上3个条件不一定都需要尤其是ma ke这个很可能已经装过了 。如果你是r ed hatenter prise 5的版本t ermca p本来是系统包含的在conf igure的时候要加上一个参数--with-named-curses-l ibs=/usr/l ib/l ibncursesw.so.5
或者--with-named-curses-l ibs=/usr/l ib/l ibncurses.a
1.3编译
1 ./confi gure
进入刚才解压出来的mysql-5.1.62目录执行
./confi gure--prefi x=/usr/local/mysql
这个pre fix后面是一些参数这些参数对于编译来说是重要的添加的这个参数是什么意思呢意思就是把mysql安装到/usr/loca l /mysql目录下如果不加这个参数直接configure那么安装出来的执行程序就在/usr/local /bin 目录下。添加了这个参数所有的关于mysql的程序和库文件等都在一个目录下可控性更强。
其实./confi gure 还可以加很多参数更加方便用户控制。 比如可以添 加--datadir=/usr/loca l /mysql /data来存放数据库文件其他的参数大家可以用下面的命令查看
./confi gure–help
如果ter mcap和g++都安装了那么./confi gure应该不会报出错误。
2make
3make ins ta ll
以上3步做完安装过程就完成了剩下的是配置过程。
第二章配置步骤
2.1拷贝my.cn f
如果你把p refix参数指定在了/usr/local /mysql下那这时候/usr/local下应该有2个目录/usr/local/mysql
/usr/local /mysql -5.1.62
进入mys ql-5.1.62目录下的support-fi les目录复制mys ql启动的配置文件。全部命令如
下cd/usr/local/mysql -5.1.62/s uppo rt-filescp my-mediu m.cnf/etc/my.cnf
2.2拷贝my sql.serve r
还是support-fi les目录下复制mys ql.serve r文件到/etc/init.d目录下。这样做的目的是为了方便启动但注意拷贝了这个文件后一定要记得改变权限到/etc/init.d下给刚才拷贝过来的my sql文件加上x权限。
全部命令cd/usr/local/mysql/support-filescp mys ql.serve r/etc/init.d/mys qlcd/etc/init.dchmod 777 mysql
2.3配置权限
添加用户和组并配置权限把/usr/local /mysql目录注意不是安装包目录 别进入/usr/local /mysql -5.1.62目录全部权限给予mysq l组、 root用户。全部命令如下addgr oup mysqlusera dd–g mysql mysqlcd/usr/localchwon –R root:mysql mysql
2.4mysq l_ins tall_db配置cd/us r/local/mys ql/bin
./mysql_inst all_d b–user=mysql
2.5启动my sqlcd/usr/local/mysql/bin
./mysql d_saf e&
执行完这2个命令后检查一下进程用命令ps–e|grep mysql 看看有没有输出应该是2个相关进程 mysql d_saf e和mys qld如果没有就选择以下命令启动m ysql servi cemysql start
执行这个命令的前提是完成了“配置步骤”一章的第二节即“拷贝mys ql.serve r”一节。
2.6添加my sql的r oot密码cd/us r/local/mys ql/bin
./mysql admin –u root passw ord ‘1234’
经过以上6个步骤配置过程就完成了下面就来登录数据库试试看。
2.7登录my sqlcd/us r/local/mys ql/bin
./mysql –u root–p
这时候会提示你输入密码刚才设置的密码是1234输入就可以了如果正常显示的结果应该如下
如果出现上图所示的结果那就安装成功了这时候就可以使用my sql命令操作数据库了用一个最简单的示范一下
输入 show datab ases;
结果如下
可以看到这里总共3个数据库。
另外提一句有同学输入了命令后出现如下结果
命令提示符变成了->这是由于没有输入分号造成的每个sql命令后都要加分号以表示命令结束。如果出现了上图所示的情况只要再单独输入一个分号 回车就好了 。
第三章远程控制m ysql
Linux上的字符界面控制起来确实挺累的我们可以考虑远程控制数据库推荐的工具是navi cat这是一个很方便的图形界面管理工具。但用这个工具控制需要对mysq l服务器做一些配置否则是无法远程连接的。
配置的内容主要有如下3个部分
1修改my.cnf文件
2开启ssh
3授予权限
3.1修改my.cn fcd/etcvi my.cnf
至于vi命令我就不讲了不会的赶紧补 linux下的神器啊在my.cnf文件中找到skip-netwo rking参数把这个参数注释掉前面加个#就可以了。
3.2开启ss hapt-get install ssh
3.3授权cd/us r/local/mys ql/bin
./mysql –u root–p
输入密码;
进入mys ql后输入以下命令
Grant all privi leges on *.* to [email protected] ident ified by‘1234’with grantoptio n;
Flush privi leges;
输入的时候别忘了分号其中第一条命令中的i p要换成你的linux服务器的ip那个1234就写你mysql的root用户的密码就可以。
现在就可以在远程用n avica t登录了至于navicat的配置方法我就不写了到时候自己看看也该知道咋配置了 。
小结
安装过程总容易犯的错误
1. 权限不够
执行一个程序如果失败先看看权限 ls–l看看有没有当前用户的x权限
2. 分不清目录
源代码包解压出来的目录和安装目录都带有mysql字段有的人粗心大意混淆了2个目
录。等执行完m ake insta ll之后源代码的目录下只有2件事要做拷贝my.cnf和mysql .serve r两个文件之后的操作全在安装目录的bin目录下。
Mysql 安装目录也就是./confi gure时prefi x参数指定的目录
Mysql-5.1.62源代码目录
3. 远程登录不上
依次检查如下配置
1Mysql的安装目录所属的用户和组
2Mysql_inst all_d b时指定的用户
3有没有开启ssh
4有没有gr ant授权
5授权完有没有执行fl ush更新授权
6 Skip-netwo rking参数有没有注释掉
4.关于roo t用户
Mysql和l inu x都有ro ot用户这2个ro ot用户是不同的大家不要混淆。