RedHat4下安装mysql5

 来源于javaResearch emmagee 原创

第一步:卸载mysql
    说明:mysql在linux的环境下有两种安装方式,一种是rpm方式,一种是二进制原文件方式
    在二进制源文件方式下,直接删除文件就可以,在rpm方式下使用如下方式卸载mysql。
1.    检验用户是否安装了使用rpm方式安装了mysql,命令为:rpm -qa | grep mysql
例如:mysql-4.1.10a-2.RHEL4.1
        
2.    如果用户安装了mysql,则全部卸载,在卸载的过程可能存在相互关联的包,需要强制卸载。加载关键字?nodeps
例如:rpm ?e mysql-4.1.10a-2.RHEL4.1 --nodeps

第二步:安装mysql
    方式一:二进制源文件安装
    0. 查询是否已经有 mysql 的账号: 
[root@test root]# grep mysql /etc/passwd 
# 如果没有 mysql 出现的话,那么请建立一个名为 mysql 的账号! 
# 这个是要给 MySQL 的 Process 使用的!为了安全性,请务必建立! 
# 如果之前已经建立过了,那么底下这一步建置的工作就可以跳过, 
# 直接到 1. 解压缩与建立连结 去安装?! 
  
[root@test root]# groupadd -g 315 mysql 
# 因为我刚好没有 315 这个 GID ,而 mysql 是系统使用的账号,我希望他在 500 以内, 
# 因此就选择 315 做为 mysql 的 gid ?!你当然可以变更这个数字, 
# 使用小于 500 的 GID 做为系统的账号之用只是惯用的习惯而已啦! ^_^ 
  
[root@test root]# useradd -u 315 -g mysql -d /usr/local/mysql/data -M mysql 
# 我使用 315 做为 mysql 这个账号(与群组同名!)的 UID 啦! 
# 并且建立他的家目录在 /usr/local/mysql/data 里面! 
  
1. 解压缩与建立连结: 
[root@test root]# cd /usr/local    (因为已经是 binary 的套件,不用 make) 
[root@test local]# tar -zxvf /root/mysql-max-5.0.27-linux-i686-icc-glibc23.tar.gz 
...(讯息略过).... 
# 最后会产生一个目录: mysql-max-5.0.27-linux-i686-icc-glibc23.tar.gz
  
2. [root@test local]# ln -s mysql-max-5.0.27-linux-i686-icc-glibc23.tar.gz mysql 
# 通常习惯将 MySQL 安装在 /usr/local/mysql 当中!但为了未来升级版本的确认, 
# 官方网站上面建议使用连结的方式来进行 MySQL 的使用! 
  
3. 档案权限修正: 
[root@test local]# mkdir -p /var/lib/mysql 
[root@test local]# chown -R mysql:mysql /var/lib/mysql 
[root@test local]# chown -R root:mysql /usr/local/mysql-5.0.27* 
[root@test local]# chown -R mysql:mysql /usr/local/mysql/data 
# 修改成较为安全,且数据库所属人为 mysql 喔!特别留意啦! 
  
4. 建立数据库: 
[root@test local]# cd mysql 
[root@test mysql]# ./scripts/mysql_install_db 
[root@test mysql]# chown -R mysql:mysql /var/lib/mysql 
[root@test mysql]# chown -R mysql:mysql /usr/local/mysql/data 
# 这个步骤会在 /usr/local/mysql/data 里面建立好 MySQL 的数据库! 
# 由于 /usr/local/mysql/data 是 MySQL 的数据库目录,所以很重要喔!请多加备份! 
# 不过,在新版的 3.23.57 这个版本当中,数据库竟然移到 /var/lib/mysql 去了! 
# 还真是有点奇怪?!另外,根据诸多网友的回报,发现在建立数据库之后, 
# 还需要重新设定一下数据库的所属群组与拥有者喔! 
  
5. 启动测试: 
[root@test mysql]# /usr/local/mysql/bin/safe_mysqld --user=mysql & 
Starting mysqld daemon with databases from /usr/local/mysql/data 
# 注意:这个时候 mysql 会建立一个 socket file 在 /var/lib/mysql/mysql.sock 喔! 
# 未来我们在使用 MySQL 的各种指令功能时,都需要使用到这个 socket file, 
# 但是 MySQL 偏偏预设的 socket file 是在 /tmp 底下,怎么办?!真讨厌, 
# 我们可以透过这个简单的动作来欺骗我们的 MySQL 喔! 
[root@test mysql]# ln -s /var/lib/mysql/mysql.sock  /tmp/ 
# 如果还是找不到 mysql.sock 时,请使用 find / -name mysql.sock  
# 来找出这个档案的绝对路径吧! 
  
[root@test mysql]# netstat -tl | grep mysql 
tcp        0      0 *:mysql                 *:*                     LISTEN 
[root@test mysql]# ps -aux | grep mysql 
mysql     6394  0.0  1.5 10528  992 pts/3    S    16:16   0:00 /usr/local/mysql/ 
mysql     6395  0.0  1.5 10528  992 pts/3    S    16:16   0:00 /usr/local/mysql/ 
mysql     6396  0.0  1.5 10528  992 pts/3    S    16:16   0:00 /usr/local/mysql/ 
root      6422  0.0  1.1  2408  732 pts/3    S    16:20   0:00 grep mysql 
# 呵呵!这样就应该是搞定了! MySQL 已经在监听要求?!而且所有人为 mysql ! 
  
6. 开机后立即启动! 
[root@test mysql]# vi /etc/rc.d/rc.local 
# 将底下这一行加入这个档案的最后面一行喔! 
cd /usr/local/mysql; /usr/local/mysql/bin/safe_mysqld --user=mysql & 
# 这样一来,每次开机就可以自动的启动 MySQL ?! 
# 注:由于很多网友回复之问题中发现,如果没有加上 cd /usr/local/mysql 时, 
# 会导致无法自动于开机的时候启动,因此,请大家记得加上这个动作呢! 
  
7. 进阶设定内容: 
#  由于我们 MySQL 放置的地点在 /usr/local/mysql 内,这个目录并不在 PATH 当中! 
#  且 man page 亦不在 MANPATH 里面,所以,我们要手动的帮他加入?! 
  
[root@test mysql]# vi /etc/profile 
# 大约在 33 行的地方,而且每个 distribution 设定的地方都不太相同! 
# 请找到 export PATH ... 那一行,以 Mandrake 9.0 来说,大概在 33 行左右, 
# 新加入一行: 
PATH="$PATH":/usr/local/mysql/bin 
export PATH ....(略).... 
  
[root@test mysql]# vi /etc/man.config( 有的 distribution 为 /etc/man.conf ) 
# 可以在这个档案的任何地方加入底下这一行: 
MANPATH /usr/local/mysql/man 
# 就可以具有 man page 的能力了! 
  
8. 建立 MySQL 的 root 账号密码! 
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root password 'your.password' 
# 请建立密码!为了安全起见!否则你的 MySQL 数据库,将预设所有人都可以登入喔! 
# 注意,如果执行上面的指令时,竟然出现如下的错误: 
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) 
# 这表示 mysql 找不到 mysql.sock 这个档案!我们上面不是提到 mysql.sock 的 
# 绝对路径吗?假设是 /var/lib/mysql/mysql.sock 好了,那么我们可以: 
[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root \ 
>  -S /var/lib/mysql/mysql.sock password 'your.passwd' 
# 当然也可以进行档案的连结阿! ln -s /var/lib/mysql/mysql.sock /tmp 
  
[root@test mysql]# /usr/local/mysql/bin/mysql -u root -p  \ 
> [-S /var/lib/mysql/mysql.sock] # 后面 [] 的内容不一定需要!且 [] 不要打! 
Enter password: <==这里输入你刚刚建立的那个密码喔! 
Welcome to the MySQL monitor.  Commands end with ; or \g. 
Your MySQL connection id is 2 to server version: 3.23.57 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 
mysql> exit 
Bye 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值