Linux下MySQL安装详解
最近安装MySql 折腾了很久 ,安装了两次遇到问题都不一样。而且同样的问题可能今天安装好了,下次安装不好。很多问题和实际环境有很大关系,这里作为总结,以备后阅,作为参考。
1、安装环境和准备 :
a、安装环境:我安装的系统环境是Linux.5.4.rhel-server-5.4-i386-dvd.iso ,我用yum命令升级过的。
b、准备MySQL服务端和客户端软件,我的版本是:
MySQL-server-5.5.16-1.rhel5.i386.rpm
MySQL-client-5.5.16-1.rhel4.i386.rpm rpm格式的是编译过的,您也可以下源码安装,
官方下载地址:http://www.mysql.com/downloads/
2、安装:
a、用rz命令上传到你准备好的目录,我是上传到了/mydata/webserver/testdb/下;
b、在mydata/webserver/testdb/目录下,用 rpm -ivh
如果成功的话会有两个进度条,然后会有提示, 仔细查看安装完后的显示内容,里面会有一
些想要的信息,比如启动关闭命令目录,日志目录等。
c、用命令rpm -ivh
如果没什么异常error的话就是安装成功了。
d、用命令 cd / 进入到根目录下 执行命令 find -name mysql ,等完成搜索后可以看到如下mysql目录
./var/lib/mysql 这个目录是数据库的数据文件
./var/lib/mysql/mysql 这个表示mysql这个库
./var/lock/subsys/mysql 这个文件是空的,配置用不到
./etc/rc.d/init.d/mysql 启动脚本
./usr/share/mysql 这个目录里面放了很多工具 这里的mysql.server
./usr/lib/mysql 这里是一些linux编译好的.so库文件,别去动它
./usr/bin/mysql 这个是mysql客户端登录启动脚本
4、操作数据库:
a、在当前目录下执行命令 netstat -ant查看端口是否有3306,或者ps -Af查看是否有mysql进程,
如果有,说明已经启动了。
如果数据库没启动,进入目录 /usr/share/mysql 目录,执行命令 mysql.server start 启动数据库。
b、进入/usr/bin/ 目录下,执行mysql -u root -p 默认数据库没有密码,如果正常连接就可以看到
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 5.5.16-log 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.
mysql>
c、输入mysql客户端的命令 show databases,会看到当前数据库;
输入use mysql,然后输入show tables ,会看到mysql数据库的表;
输入select user ,password ,host from user会看到当前数据库用户信息;
输入 update user set password=PASSWORD("xxxxxx") where user="root"; 修改root用户密码;
创建数据库 create database mydatabase default character set utf8; 这里为了减少以后的麻烦,
设置字符集utf-8。
d、创建新用户并授权,类似如下语句;
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
grant select,insert,update,delete,create routine,execute on admin.* to sa@"localhost";
grant all on *.* to root@"%" Identified by "abc#123";
flush privileges; 授权完了一定要执行这个语句。
查看某个用户的权限 show grants for sa@localhost;
查看mysql连接进程 SHOW PROCESSLIST
删除用户 DELETE FROM user WHERE User="sa" and Host="%";
退出 quit;
3、修改数据文件路径 :
a、进入/usr/share/mysql 执行mysql.server stop 停止数据库服务
b、进入到/var/lib/目录下,mv mysql mysql.bak 作为备份,
执行命令 cp mysql.bak /mytest/data /mytest/data 目录是我提前准备好的路径
执行mv mysql.bak mysql 。
c、进入目录 /usr/share/mysql ,执行命令cp my-medium.cnf /etc
然后执行命令 mv my-medium.cnf my.cnf 这里我们这么做是因为默认rpm安装的没有my.cnf
文件,拷贝my-medium.cnf 文件修改后做my.cnf配置文件。
d、然后我们编my.cnf文件 vi my.cnf
在[mysqld] 下
datadir = /mytest/data/mysql
#socket = /var/lib/mysql/mysql.sock 注释掉这个
socket = /mytest/data/mysql/mysql.sock 添加
在[client] 下
#socket = /var/lib/mysql/mysql.sock 注释掉这个
socket = /mytest/data/mysql/mysql.sock 添加
执行wq保存。
e、重启数据库 进入目录 /usr/share/mysql 目录,执行命令 mysql.server start 启动数据库。如果启动失败出现
Starting MySQL...The server quit without updating PID file (/alidata/db/mysql/testServer.pid).[失败]
类似于这样的错误, 请检查你的配置是否正确,尤其是配置的路径。
4、卸载、重装
a、这一步是我们不希望出现的,但是事实上很多时候难以保证,liunx下如果不小心删除一个文件,
那找回来是很难的,所以这里准备了重装步骤。
b、用 yum remove MySQL-server-5.5.16-1.rhel5.i386.rpm 或者
rpm -e MySQL-server-5.5.16-1.rhel5.i386.rpm 卸载
然后手动删除 find 找到的所有mysql文件目录。重新执行安装步骤;如果还报类似于已经安装的问题。
那我们用强制覆盖安装,先看参数
--nodeps: 不考虑相依属性的关系,强制安装下去;
--replacepkgs:如果之前安装过这个套件,您想覆盖这个套件,那么不需要反安
装后再安装,可以直接加--replacepkgs强制覆盖;
--replacefiles:如果这个套件安装完毕,曾经被您修改过文件,就是安装过程中
会出现confilcting files的话,可以直接以--replacefiles覆盖掉这种文件。
我们安装用 rpm -ivh --replacepkgs
然后重新上面讲过的 操作直到你安装配置成功。
5、联系本人
对linux系统不是很了解的初学者,配置起来是有点困扰,如果按照我所讲述的安装不成功的话,
可能是粗心所致,也可能跟环境有关,建议仔细检查安装过程及配置, 自己搞定,如果实在搞不
定的话可以联系本人qq:236788273,可以给予 最大努力的帮助。