zz在Ubuntu中通过源码安装编译安装软件(MySQL篇)
使用Ubuntu Server作为本地测试环境已经有一段时间了,一直都是使用apt-get方式来安装各种应用软件,通过源码编译安装应用软件是Linux和Unix环 境下最常用的方式。通过源码编译安装的最大好处就是你知道自己做了什么,这种方式安装软件自由灵活,也适用于各种平台、维护方便;本系列文章都是在 Ubuntu Server系统的命令行模式下完成。
在进行源码编译安装之前,我们首先需要作如下的准备工作:
1、更新您的Ubuntu
sudo apt-get update
sudo apt-get upgrade
2、安装所需软件包
sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential
apt-get可一次安装多个软件,以上安装可根据需要选装.在安装过程中可能会提示你插入Ubuntu的光盘.如果通过SSH远程管理Ubuntu出现乱码,不能正常查看汉字信息,请参考PuTTY连Ubuntu的SSH出现乱码的处理
3、安装libncurses5-dev
sudo apt-get install libncurses5-dev
通过源码编译安装软件时,出现错误信息:
checking for termcap functions library… configure: error: No curses/termcap library found
安装libncurses5-dev库方可解决.
今天首先介绍的是LAMP组中作为数据存储的MySQL的源码编译安装过程:
mysql使用utf-8作为默认编码:
groupadd mysql
useradd -g mysql mysql
tar -zxvf mysql-5.0.45.tar.gz
cd mysql-5.0.45
./configure –prefix=/usr/local/mysql –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=latin1
make
make install
cp support-files/my-medium.cnf /etc/my.cnf
启动vim修改my.cnf文件
vim /etc/my.cnf
找到log-bin=mysql-bin这一行,将其注释掉:#log-bin=mysql-bin
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql /usr/local/mysql/var
chgrp -R mysql .
启动MySQL:
bin/mysqld_safe --user=mysql &
让mysql随系统一起启动:
使用vi编辑器,对/etc/rc.local文件进行编辑
vi /etc/rc.local
在exit 0前面加上
/usr/local/mysql/bin/mysqld_safe --user=mysql &
重启服务器,验证mysql是否能随系统正常启动,启动后:
mysql
如果能直接进入则说明启动成功。
为了安全,修改root密码:
mysql>use mysql
mysql>UPDATE user SET password=PASSWORD('new_password') WHERE user='root';
mysql>FLUSH PRIVILEGES;
mysql>exit
posted @ 2010-12-01 15:57 lexus 阅读(405) 评论(0) 编辑
LINUX上安装MYSQL5.1
linux version:
Linux version 2.6.18-6-xen-vserver-686 (Debian 2.6.18.dfsg.1-24) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Sat Dec 27 13:50:55 UTC 2008
MYSQL version
mysql-5.1.33-linux-i686-glibc23.tar.gz
安装成功。
执行service mysqld restart
Shutting down MySQL..
Starting MySQL......
debian:/usr/local#
成功。
debian:/var/run/mysqld# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
debian:/var/run/mysqld# chown -R mysql /var/run/mysqld/
苦思不得其解。查看my.cnf,截取部分如下
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
那么问题肯定出在socket这里了。这里对应的是/tmp/目录,查看/tmp/目录下面,有mysql.sock。尝试/tmp下用ln创建软 连接mysqld.sock到/var/run/mysql/mysqld.sock.restart service ,无果。于是尝试在/var/run/mysql/创建软连接到/tmp/mysql.sock。restart service 也无果。google了一下。发现很多类似情况,照搬过来,It does not work too.看来还是回到开始,问题肯定是处在socket上,更改my.cnf里的socket路径为/var/run/mysql /mysqld.sock,直接在改路径下创建一个mysqld.sock。重启mysql。成功了