源码安装mysql-5.1.37
时间:2009-08-09 来源:butting
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 & 会报错
主要是因为我们第四步更新权限的时候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
# 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 |
# ./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
相关阅读 更多 +