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去卸载)