最近服务器上要用到mysql,在查看mysql自带的INSTALL-SOURCE,和在网上查找了很多样的资料,经过一番痛苦的折腾,终于总结出个还算可以的教程,贴上来备忘。
1、下载MySQL免安装版软件,下载地址:http://dev.mysql.com/downloads,
这里我下载的是mysql-5.1.50-linux-i686-icc-glibc23.tar.gz
2、创建mysql组,建立mysql用户并加入到mysql组中。
(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)
#groupadd mysql
#useradd -g mysql mysql
3、进入先前存放mysql压缩包文件的目录,我这里是/usr/mysql,将免安装版mysql解压缩,并在此目录下建立名为mysql的软链接。
建不建软链接,根据实际需要,这个不是必需的。本人在这里并没有建立软链接。
# cd /usr/mysql
# tar zxvf mysql-5.1.50-linux-i686-icc-glibc23.tar.gz
# ln -s mysql-5.1.50-linux-i686-icc-glibc23 mysql
4、接下来是第4步,网上很多资料包括官方示例里面都没有,但缺少这一步将导致后面的安装无法继续。上一步解压后,将多出一个mysql-5.1.50目录,进入该目录,使用configure 命令 我在这里指定了安装目录为 /usr/mysql
# cd mysql-5.1.50 //如果使用软链接,cd mysql即可
# ./configure --prefix=/usr/mysql
在这一步时,出现了错误:
configure: error: no acceptable C compiler found in $PATH
google了一下,说是没有安装gcc组件的原因,网上说下载gcc安装包,手工装上,这里用了自己的解决办法:
(在线安装gcc,输入以下命令即可,比较方便)
# yum -y install gcc
再次configure,又报出了错误:
checking for termcap functions library… configure: error: No curses/termcap library found
分析错误时,认为是缺少了,ncurses安装包,安装之:
# yum -y install ncurses
提示,发现该安装包已经是存在的,纠结了半天,终于找到原因,原来还要安装ncurses的开发包:
(先前试过 yum -install ncurses-devel,不知道为什么不行)
# yum -install ncurses ncurses-devel
再次configure,终于成功。
接下来make和make install:
# make
又报出错误:
./depcomp: line 571: exec: g++: not found
又是缺少了组件,再次安装:
# yum intall gcc-c++
之后make和make install正常,时间有点久,耐心点吧
5、添加MySQL配置文件。
设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。
# cp mysql/support-files/my-medium.cnf /etc/my.cnf
6、设定目录访问权限,用mysql_install_db创建MySQL授权表初始化,并设置mysql,root帐号访问权限。
# cd mysql-5.1.50 //到mysql压缩包的解压缩目录
# chown -R mysql . //这里的mysql指的是用户 后面的.不能省略
# chgrp -R mysql .
//关键在这一步,很少能够一次成功,本人就没有成功。网上大多数都是同一文章转来转去,对此并没有说明。在这里备注一下:因为这里初始化数据库要用到下面的data目录,而data目录起初可能是不存在的,所以会导致失败。如果失败请按指定的路径创建data目录并确定权限没问题后重试,一般就可成功
# scripts/mysql_install_db –user=mysql
# chown -R root .
//这里的data目录可能会有所变化,像我在装的时候就没有data目录,而且默认的配置文件里指定的是var目录:/usr/mysql/var 但是var目录也不存在,需要手工创建。当然这个名称可以手工修改,只要与文件夹对应即可,手工创建时注意权限问题,不然会初始化数据库不成功,我就是在这卡了不少时间
# chown -R mysql data
注意:以上命令中的”.”符号不能少
7、运行mysql。
# bin/mysqld_safe –user=mysql
(我的bin目录是在/usr/mysql,configure时指定的,具体看你情况)
如果没有问题的话,应该会出现类似这样的提示:
100906 10:44:54 mysqld_safe Logging to ‘/usr/local/mysql/data/localhost.localdomain.err’.
100906 10:44:54 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
注意:如果光标停留在提示下闪烁,其实已经启动成功了,关闭当前shell终端,重新开启一个shell终端即可
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置,大多数问题是权限设置不正确引起的。
至此,mysql安装启动成功。
8、使用mysql
安装完成后,可以用root用户登录,默认密码为空,直接进入即可:
# mysql -u root -p
该命令可能要到bin目录下执行才可以,那是因为还没有添加环境变量:
# vi /etc/profile
在profile文件中添加下面两行:
PATH=/usr/mysql/bin:$PATH
export PATH
然后wq保存,现在你就可以方便的使用mysql命令了。
为了安全,可以修改root用户密码:
# /usr/mysql/bin/mysqladmin -uroot password newpassword
如果要远程登录,别忘了把用户的host改成‘%’,并且确认防火墙已经开放3306端口
9、配置mysql为服务方式,自动启动
# cp /usr/mysql/mysql-5.1.58/support-files/mysql.server /etc/rc.d/init.d/mysql
# chmod 700 /etc/rc.d/init.d/mysql
# chkconfig --add mysql
# chkconfig --level 3 mysql on
手动启动服务:
# service mysql start
手动停止服务:
# service mysql stop
手动重启服务:
# service mysql restart
分享到:
2012-03-08 16:47
浏览 1340
评论