首先去mySQL官网下载页面:
http://dev.mysql.com/downloads/mysql/#downloads
Select Platform 选择 Oracle & Red Hat Linux 4 & 5
分别下载以下三个文件(由于我的机器是32位,下面是32位版本的包,如果你的机器是64位的请下载64位版本):
1. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
MySQL Server
2. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
Client Utilities
3. Red Hat & Oracle Linux 5 (x86, 32-bit), RPM Package
Development Libraries
使用wget命令使用断点传输的方式将这三个文件下载
wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.28-1.rhel5.i386.rpm
wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.28-1.rhel5.i386.rpm
wget -c http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.28-1.rhel5.i386.rpm
下载完成后开始安装:
rpm -ivh MySQL-server-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-client-5.5.28-1.rhel5.i386.rpm
rpm -ivh MySQL-devel-5.5.28-1.rhel5.i386.rpm
如果安装途中出错:
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.28-1.rhel5.x86_64
是依赖库缺少,安装依赖库即可
yum install libaio
提示安装完成后,输入mysql 看是否安装成功
mysql
如果没有反应或者出现如下错误信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
说明mysql服务还没有启动,输入service mysql start启动mysql服务
service mysql start
然后再输入mysql,若出现以下提示信息,说明成功。
1
2
3
4
5
6
7
8
9
10
11
|
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection
id
is 1
Server version: 5.5.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and
/or
its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and
/or
its
affiliates. Other names may be trademarks of their respective
owners.
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear
the current input statement.
|
如果出现错误
1
|
Starting MySQL.... ERROR! The server quit without updating PID
file
(
/var/lib/mysql/lechiexxxxx
.pid).
|
根据错误地址 查看日志文件
这里的地址是 /var/lib/mysql/
日志名称一般为 服务器名.err
打开发现有这么一句:
1
2
|
[ERROR] Fatal error: Can
't open and lock privilege tables: Table '
mysql.host
' doesn'
t exist
121012 15:12:05 mysqld_safe mysqld from pid
file
/var/lib/mysql/lechiexxxxxx
.pid ended
|
所以是少了表。
执行表的初始化
1
|
/usr/bin/mysql_install_db
|
之后执行启动还是失败,查看日志:
1
|
[ERROR] Failed to
open
log (
file
'./mysql-bin.000004'
, errno 13)
|
应该是没有权限了,赋予mysql权限
1
|
chown
-R mysql:mysql
/var/lib/mysql/
|
之后重新执行 service mysql start 启动服务,success!
可以启动守护进程
1
|
/usr/bin/mysqld_safe
&
|
我一般是一直回车几次退出 putty或secureCRT,然后重开一个会话即可。
【问题】
mysql安装后装到哪里去了?一般在以下文件夹里
/usr/share/mysql/ 或者 /usr/lib/mysql/ 或者 /var/lib/mysql/
可以通过指令:
1
|
whereis
mysql
|
来查看到底安装到哪里去了。
【初始化设置】
rpm包安装的MySQL是不会安装/etc/my.cnf文件的,解决方法,只需要复制/usr/share/mysql目录下的my-huge.cnf 文件到/etc目录,并改名为my.cnf即可
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
【设置密码】
首次安装时,默认密码为空,可以使用如下命令修改root密码,
/usr/bin/mysqladmin -u root password 新密码XXXXX
例如: /usr/bin/mysqladmin -u root password 123456
然后再次登录
mysql -u root –p新密码XXXXX
修改登录密码
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
【目录说明】
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
【启动与停止】
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
/etc/init.d/mysql start
或者
/etc/rc.d/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
/sbin/chkconfig –list
2)把MySQL添加到你系统的启动服务组里面去
/sbin/chkconfig – add mysql
3)把MySQL从启动服务组里面删除。
/sbin/chkconfig – del mysql
【更改MySQL目录】
MySQL默认的数据文件存储目录为/var/lib/mysql。
假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
记得赋予权限:
chown -R mysql:mysql /home/data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,
拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。
修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值
为:/home/mysql/mysql.sock 。操作如下:
vi my.cnf ##用vi工具编辑my.cnf文件,找到下列数据修改之
# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock ##原内容,为了更稳妥用“#”注释此行
socket = /home/data/mysql/mysql.sock #加上此行
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存
放路径:home/data/mysql。
vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql##注释此行
datadir=/home/data/mysql ##加上此行
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
【配置远程访问】
处于安全考虑,Mysql默认是不允许远程访问的,可以使用下面开启远程访问
//赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//使修改生效
mysql>FLUSH PRIVILEGES
如果依然不能远程访问的话,那就很可能防火墙的原因了,可以在防火墙中开启3306端口或者干脆关掉防火墙。