l-linux

a-apache旗下的一款出色的web服务软件httpd

m-mysql

p-php

一些下载的源码包最好放在[root@localhost ~]# cd /usr/local/src 这个里面

安装顺序:mysql>apache>php

根据你的系统来是32位还是64位,下载不同的,可以从这个网站下载 http://mirrors.sohu.com/mysql/

http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz(32位)

http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz(64位)

 

## 下载mysql到 /usr/local/src

[root@localhost ~]# cd /usr/local/src

[root@localhost ~]# wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz

说明:这个是二进制免编译包,直接使用即可,性能很好。

     二进制是带有glibc 和i386或64字样的,源码包就是简单的包名+版本号


## 解压

[root@localhost src]# tar zxf mysql-5.1.40-linux-x86_64.tar.gz


## 创建运行mysql需要的一个账号,用mysql用户,但不用它登录

[root@localhost src]# useradd mysql -s /sbin/nologin -M


## 移动并重命名

[root@localhost src]# mv mysql-5.1.40 /usr/local/mysql


## 创建数据库存放目录

[root@localhost src]# mkdir -p /data/mysql

[root@localhost src]# chown -R mysql:mysql /data/mysql

[root@localhost src]# ls -ld /data/mysql/

drwxr-xr-x. 2 mysql mysql 4096 Aug 23 01:01 /data/mysql/


## 初始化创建初始化的库

[root@localhost src]# cd /usr/local/mysql/

[root@localhost mysql]# ls

bin      data  EXCEPTIONS-CLIENT  INSTALL-BINARY  man         README   share      support-files

COPYING  docs  include            lib             mysql-test  scripts  sql-bench

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

Installing MySQL system tables...

# 报错信息

###################

## ERROR: 1004  Can't create file '/tmp/#sql31af_1_0.frm' (errno: 13)

## # 修改无法创建内容的目录权限

## [root@localhost mysql]# ls -ld /tmp/

## drwxr-xr-x. 3 root root 4096 Aug 23 01:10 /tmp/

## [root@localhost mysql]# chmod 777 /tmp/

## [root@localhost mysql]# ls -ld /tmp/

## drwxrwxrwx. 3 root root 4096 Aug 23 01:10 /tmp/

###################


## 两个OK表示安装成功

Installing MySQL system tables...

OK

Filling help tables...

OK

[root@localhost mysql]# echo $?

0


## 初始化完成后,该目录会出现这两个文件

[root@localhost mysql]# ls /data/mysql/

mysql  test


## 拷贝配置文件模板

[root@localhost support-files]# pwd

/usr/local/mysql/support-files

# my-large.cnf是针对内存参考的配置文件

[root@localhost support-files]# cp my-large.cnf /etc/my.cnf

cp: overwrite `/etc/my.cnf'? y #系统自带需要覆盖


## 简单查看配置文件

[root@localhost support-files]# vim /etc/my.cnf

[mysqld]

port            = 3306 #监听端口

socket          = /tmp/mysql.sock #监听sock

skip-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

# 打开后将不能监听mysql端口

#skip-networking

# 以下三个配置适合bin-log相关的,以后做主从复制时在用

#log-bin=mysql-bin

#binlog_format=mixed

#server-id      = 1


## 拷贝启动脚本,这是一个可执行文件

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld


## 修改启动配置脚本

[root@localhost support-files]# vim /etc/init.d/mysqld

basedir=/usr/local/mysql

datadir=/data/mysql


## 加入系统启动列表中

[root@localhost support-files]# chkconfig --add mysqld

[root@localhost support-files]# chkconfig mysqld on


## 手动启动mysql

[root@localhost support-files]# /etc/init.d/mysqld start

Starting MySQL. SUCCESS!


## 检查进程

[root@localhost support-files]# ps aux |grep mysql

root     12935  0.0  0.2 106100  1352 pts/0    S    02:13   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/Lx.pid

mysql    13031  0.0  4.4 277884 22320 pts/0    Sl   02:13   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/Lx.err --pid-file=/data/mysql/Lx.pid --socket=/tmp/mysql.sock --port=3306


## 验证端口

[root@localhost support-files]# netstat -lnp |grep 3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      13031/mysqld


注:

## 若有时候遇到mysql启动不了,可以从日志中查看一下

总结:

##########  安装完mysql却登录不了

[root@wy ~]# /usr/local/mysql/bin/mysql -uroot

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

解决方法:

       安装mysql之前先要检查一下是否已安装过,有就卸载干净。

       参考文档:http://blog.itblood.com/completely-uninstall-the-mysql-under-linux-graphic-tutorials.html

  (rpm -ev 或yum remove去卸载)