日期:2014-05-16  浏览次数:20556 次

linux安装mysql数据库
很早就想把自己曾经做过的东西和在操作系统安装过的东西记录一下,一直没有时间,今天正好有空,先把自己在linux安装mysql的过程记录一下,便于以后查看.

环境:centos5.4
mysql版本:mysql-5.0.18.tar.gz

安装过程如下:
[root@localhost root]#tar -xvf mysql-3.23.53.tar.gz
解压之后进入该文件夹:

[root@localhost root]#cd mysql
建立mysql用户和mysql组:

[root@localhost root]#groupadd mysql
[root@localhost root]#useradd –g mysql mysql
在这里建立一个mysql用户和组的目的是:要给mysql数据库一个启动的用户和组,这样可以不用以管理员(root)的身份去启动mysql,大大的提高了服务器的安全。
然后给mysql用户设置一个密码:
[root@localhost root]#passwd mysql
然后编译mysql,目的是为mysql设置一些参数选项:


[root@localhost root]#
./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci   

①——prefix选项意思是:把文件安装在后面参数的目录里面。
②——without-debug 选项意思是:关闭调试选项。
③——with-extracharsets=gb2312 选项意思是:安装扩展字符为gb2312。
④——enable-assember 选项意思是:使用一些字符函数的汇编版本。
⑤——with-mysqld-ldflags 选项意思是:以纯静态方式编译服务端和客户端。

开始执行make:

[root@localhost root]#make
[root@localhost root]#make install

完成后进入scripts目录执行:

[root@localhost root]#./scripts/mysql_install_db
[root@localhost root]#cp support-files/my-medium.cnf  /etc/my.cnf
[root@localhost root]#cp support-files/mysql.server  /etc/init.d/mysqld

完成配置文件和启动文件的复制后,执行修改文件权限的命令:
[root@localhost root]#chmod 700 /etc/init.d/mysqld
[root@localhost root]#cd /usr/tools/mysql
[root@localhost root]#chown -R root mysql
[root@localhost root]#chown -R mysql mysql/var
[root@localhost root]#chgrp -R mysql mysql

权限修改完毕后,复制启动文件,修改启动选项:

[root@localhost root]#chkconfig --add mysqld
[root@localhost root]#chkconfig --level 345 mysqld on
[root@localhost root]#service mysqld start


提示:如果在编译过程中出现

checking for tgetent in -ltermcap… no
checking for termcap functions library… configure: error: No curses/termcap library found

下载 ncurses-5.7.tar.gz

并源码安装之(静态库版)
  tar xvfz ncurses-5.7.tar.gz
  ./configure --prefix=/home/nemo/ncurses
  make && make install
 
  并源码安装之(动态库版)
  ./configure --prefix=/home/nemo/ncurses  -–with-shared –-without-debug
  make && make install
  设置添加安装路径到环境变量 /home/nemo/ncurses
  方法如下:
导到登陆用户的根目录(这里我用的是root,所以它的根目录是~),
cd ~
使用 ls –la | more 查看到一个.profile.bash文件
Vi profile.bash文件
在$PATH 后添加 : /home/nemo/ncurses安装路径
然后退出重新登陆,通过env查看环境变量下$PATH是否添加进去
然后在重新编译mysql
./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci 

如果还是出现上述错误,则需要安装一个依赖包

ncurses-devel-5.5-24.20060715.i386.rpm

安装依赖包
rpm -ivh /software(这个是我存放这个软件包的目录)/ncurses-devel-5.5-24.20060715.i386.rpm

安装完成后

在进入mysql目录进行编译mysql

./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci 

应该就不会有什么问题了



接下来将mysql安装目录的bin目录放到系统的环境变量当中,便于直接登录系统后可以直接使用 mysql -uroot(用户名) -pxxx(密码)登录到系统

找到mysql安装目录: /usr/tools/mysql/bin
通过  vi /etc/profile
在PATH=$JAVA_HOME/bin:$PATH后添加 mysql的目录路径
PATH=$JAVA_HOME/bin:$PATH:/usr/tools/mysql/bin
然后退出系统重新登陆
查看env
PATH=/usr/java/jdk1.6.0_19/bin:/usr/tools/mysql/bin/

然后就可以使用 msyql -uroot -pxxx 登陆一下你的mysql后台