Centos 上安装mysql 5.1.48 配置环境

 
本文linux版本是Centos 5.3 ,mysql版本MySQL5.1.48
=============================
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/MySQL-server-community-5.1.48-1.rhel5.i386.rpm
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/MySQL-client-community-5.1.48-1.rhel5.i386.rpm
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.48.tar.gz

---------------
http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.48-win32.msi
http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-noinstall-5.1.48-win32.zip

===========================
Mysql5.1.49版本真是速度滴就出来了。

wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/MySQL-server-community-5.1.49-1.rhel5.i386.rpm
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/MySQL-client-community-5.1.49-1.rhel5.i386.rpm
wget http://mysql.ntu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.49.tar.gz



一、将上面两个rpm文件上传到 /usr/local 目录下

我使用的是SSH Secure Shell Client软件,它可以远程连接linux,还能在window和linux互传文件

二、 安装软件

rpm -ivh MySQL-server-5.1.48-0.rhel5.i386.rpm

出现错误提示,提示系统里有mysql 5.0.45,文件冲突。它是在安装Linux时由于安装了所有的开发包,所以都安装上了。

2.1 卸载旧版本的mysql

rpm -qa|grep mysql

会列出含有mysql字样的软件包。注意软件包名称是区分大小写的。是安装软件时文件名前面一串。

如这里就是

MySQL-client-community-5.1.48-0.rhel5

MySQL-server-community-5.1.48-0.rhel5

找到软件包名称后使用rpm -e MySQL-server-community-5.1.48-0.rhel5 来卸载

你在删除安装某软件包时也会遇到依赖关系错误,当另一个已安装的软件包依赖于你试图删除的软件包时,依赖关系错误就会发生

要使 RPM 忽略这个错误,并强制删除该软件包(不是个好办法,因为依赖于它的软件包可能无法正常运行),使用 --nodeps 选项

rpm -e MySQL-server-community-5.1.48-0.rhel5  --nodeps (注意是两横线--)

2.2 安装软件

rpm -ivh MySQL-server-5.1.48-0.rhel5.i386.rpm

MySQL-client-5.1.48-0.rhel5.i386.rpm

三、安装后使用root管理员登录,初始没有密码,直接mysql命令就能登录

四、修改登录密码

例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。


mysql的相关命令都是/usr/bin/下

命令:/usr/bin/mysqladmin -uroot -p password hardwin(这是新密码)

格式:mysqladmin -u用户名 -p旧密码 password 新密码

注意:-p后面不输入密码也可,会出现提示消息输入密码

第一次设置登录密码由于初始密码为空,直接使用:/usr/bin/mysqladmin -uroot  password hardwin

增加MySQL用户

格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:

mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。

例 2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。

mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";

用新增的用户如果登录不了MySQL,在登录时用如下命令:

mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)





五、MySQL的几个重要目录

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

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

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 。操作如下:

vimy.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