Linux下MySQL安装详解

来源:互联网 发布:6轴传感器imu算法 编辑:程序博客网 时间:2024/05/20 15:59

最近安装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  MySQL-server-5.5.16-1.rhel5.i386.rpm ,

               如果成功的话会有两个进度条,然后会有提示, 仔细查看安装完后的显示内容,里面会有一

                些想要的信息,比如启动关闭命令目录,日志目录等。

         c、用命令rpm -ivh  MySQL-client-5.5.16-1.rhel4.i386.rpm 安装客户端,一样会显示两个进度条。

              如果没什么异常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  MySQL-server-5.5.16-1.rhel5.i386.rpm  这个命令,覆盖安装,

              然后重新上面讲过的 操作直到你安装配置成功。

5、联系本人

                 对linux系统不是很了解的初学者,配置起来是有点困扰,如果按照我所讲述的安装不成功的话,

           可能是粗心所致,也可能跟环境有关,建议仔细检查安装过程及配置, 自己搞定,如果实在搞不

            定的话可以联系本人qq:236788273,可以给予 最大努力的帮助。

        

                       

                 

原创粉丝点击