免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1552 | 回复: 0
打印 上一主题 下一主题

源码安装mysql-5.1.37 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-09 10:15 |只看该作者 |倒序浏览

1.创建必要的组和拥有者,安全为主,用受限用户mysql运行
# groupadd mysql
# useradd -g mysql mysql
2.编译安装
./configure --prefix=/home/service/database/mysql5/ \
> --sysconfdir=/etc/ \
> --with-extra-charsets=all \
> --with-unix-socket-path=/tmp/mysql.sock \
> --with-mysqld-user=butting \
#####################################################################################
参数说明:
--with-extra-charsets=CHARSET,CHARSET,...
                         Use charsets in addition to default (none, complex,
                          all, or a list selected from the above sets)
--with-unix-socket-path=SOCKET
                          Where to put the unix-domain socket.  SOCKET must be
                          an absolute file name.
--with-mysqld-user=username
                          What user the mysqld daemon shall be run as.
--with-extra-charsets=all 对多语言的支持
--with-unix-socket-path=/tmp/mysql.sock 这个是指定mysql服务器启动后,联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/tmp 目录中看到mysql.sock文件。如果看不到,肯定是mysql启动不了。或者也可以以后使用ln -s /var/lib/mysql/mysql.sock /tmp/将/var/lib/mysql/mysql.sock 链接到 /tmp 目录下,并保持名称不变,如果不这样做的话,有时候可能mysql 启动时会报错,如 ERROR 200:Can’t connect to local MYSQL server throuht socket /tmp/mysql.sock.
--with-mysqld-user=butting 这个是让mysql服务器也能让系统中普通用户zieckey也能启动mysql服务器。用普通用户来启动mysql的好处是:mysql的进程会自己死掉自动退出。当然root用户也可以,不过有时mysql有些进程死了,但不会自动退出,root自己也杀不掉。所以用普通用户就有这样的好处,大多不会出现mysql进程已死,但不会退出的情况;
当您看到“Thank you for choosing MySQL!”时,说明成功。
也许会看到如下信息:
checking for termcap functions library... configure: error: No curses/termcap library found
这说明系统中某些库文件没有,那么我们要安装这些库文件。安装上libncurses5-dev (不同的系统可能名字也有所差异)这个包就好了##############################################################################################
make && make install(make install之前可以先make test,一般报权限错误的话问题不大)
3.安装mysql数据库
# scripts/mysql_install_db mysql_install_db 是登陆mysql数据库服务器、创建所有必要的表并填入初始值的shell脚本
4.更新安装权限
# cd /home/service/database/
# mkdir /mysql5/var
# chown -R root mysql5
# chown -R root mysql5/var
# chgrp -R mysql mysql5
5.复制mysql配置文件到/etc下
# cp support-files/my-medium.cnf /etc/my.cnf
6.启动mysql
#cd /home/service/database/mysql5
# ./bin/mysqld_safe --user=mysql & 会报错
[1] 32298 [root@localhost mysql5]# 090809 15:29:23 mysqld_safe Logging to '/home/service/database/mysql5/var/localhost.localdomain.err'. 090809 15:29:23 mysqld_safe Starting mysqld daemon with databases from /home/service/database/mysql5/var 090809 15:29:24 mysqld_safe mysqld from pid file /home/service/database/mysql5/var/localhost.localdomain.pid ended [1]+ Done ./bin/mysqld_safe --user=mysql
主要是因为我们第四步更新权限的时候chown -R root mysql5/var时文件夹里面是空的,现在有很多文件了,而我们又是用root执行的操作,所以ll下发现里面都是root root的,权限问题,只要再执行一次 chown -R root mysql5/var就好了
7.修改root密码
# ./bin/mysqladmin -u root password "123456"
8.设置自动启动
[root@localhost rc.d]# cp /usr/local/src/mysql-5.1.37/support-files/mysql.server /etc/rc.d/init.d/mysql
[root@localhost rc.d]# chmod +x /etc/rc.d/init.d/mysql
[root@localhost rc.d]# ln -s /etc/rc.d/rc3.d/S99mysql
[root@localhost rc.d]# ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc0.d/K01mysql
[root@localhost rc.d]# ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc6.d/K01mysql

9.注册服务
[root@localhost rc.d]# chkconfig --add mysql
[root@localhost rc.d]# service mysql restart


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/95891/showart_2022424.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP