Linux下Mysql安装和配置

第一步:卸载mysql
说明:mysql在linux的环境下有两种安装方式,一种是rpm方式,一种是二进制原文件方式
在二进制源文件方式下,直接删除文件就可以,在rpm方式下使用如下方式卸载mysql
1. 检验用户是否安装了使用rpm方式安装了mysql,命令为:rpm -qa | grep mysql
例如:mysql-4.1.10a-2.RHEL4.1

2. 如果用户安装了mysql,则全部卸载,在卸载的过程可能存在相互关联的包,需要强制卸载。加载关键字-e

例如: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/m
ysql/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
方式二:rpm文件安装
在rpm文件下rpm ?i *.rpm


因爲下面這些包依賴于 mysql 這個包
你刪除了 mysql 其他包就可能不能用了
加上 --nodeps
rpm -e --nodeps mysql
或者用yum刪除 它會自動解決依賴
yum remove mysql


BUG:
Starting MySQLCouldn't find MySQL manager or server [FAILED]
关键字: linux
http://bugs.mysql.com/bug.php?id=23524
解决方法:mv /etc/my.cnf /etc/my.cnf.old

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值