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) 编辑

mysql install

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。成功了