CentOS6.5下以yum方式安装MySQL5.5

时间:2023-01-01 10:26:05

  之前安装方式都是源码安装,现在自己电脑linux虚拟机上测试采用yum安装方式进行安装。大致的步骤如下:

  1. 一般 CentOS6.5 linux 安装的时候自带了数据库mysql5.1 ,先将mysql进程停止然后将其卸载。

        rpm -qa | grep mysql       #这个命令就会查看该操作系统上是否已经安装了mysql数据库

        rpm -e mysql              #普通删除模式

        rpm -e --nodeps mysql #强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,

                                                #则用该命令可以对其进行强力删除

        yum -y remove mysql-libs-5.1.66*    

                                                #使用yum卸载rpm包防止mysql安装冲突,我安装到linux系统中版本是5.1.66

      

 2. 网上博客关于安装linux方面的资料很多,我们这边也按照如下方法下周

   http://dev.mysql.com/downloads/mysql/5.5.html#downloads站点可以下载下面的三个rpm包:
   分别下载以下三个文件(下面是32位版本的包,如果你的机器是64位的请下载64位版本):
       MySQL-server-5.5.16-1.rhel4.i386.rpm
       MySQL-client-5.5.16-1.rhel4.i386.rpm
       MySQL-devel-5.5.16-1.rhel4.i386.rpm

   使用wget命令使用断点传输的方式将这三个文件下载

    wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-server-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/

    wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-client-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/

    wget -c http://dev.mysql.com/get/Downloads/MySQL-5.5/MySQL-devel-5.5.16-1.rhel4.i386.rpm/from/http://mysql.spd.co.il/

  3. 下载后采用 yum命令安装,之前可以先将mysql依赖的rpm包安装如c++运行环境gcc等,不过采用yum方式会自动安装依赖的rpm包

   yum install MySQL-server-5.5.16-1.rhel4.i386.rpm
   yum install MySQL-client-5.5.16-1.rhel4.i386.rpm
   yum install MySQL-devel-5.5.16-1.rhel4.i386.rpm


  4. 须知yum方式安装之后默认的一些mysql数据库

        数据库目录
              /var/lib/mysql/
        配置文件
             /usr/share/mysql(mysql.server命令及配置文件)
       相关命令
             /usr/bin(mysqladmin mysqldump等命令)
      启动脚本
            /etc/rc.d/init.d/(启动脚本文件mysql的目录)


 5. 初始化mysql,启动mysql 

        运行/user/bin/mysql_install_db这个程序,一般路径是/usr/bin/mysql_install_db,用于初始化mysql的数据库,

        生成元数据。不运行的话,会出现

        Can't open and lock privilege tables: Table 'mysql.host' doesn't exist,这样的错误。


          运行 mysql_install_db 有可能不成功,按照提示使用 mysql_install_db --force 可以查看其中的一个原因,

       有一个原因是 缺少一个rpm包 ,使用yum安装 :

        yum install libgcc_s.so.1

         再次运行  mysql_install_db即可成功初始化mysql


        运行 /etc/rc.d/init.d/mysql start启动mysql

        有可能报的错误:

        ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)

        可以查看错误日志  vi /var/lib/mysql/  XXXXX.err 查看

        里面可能的记载是:/user/sbin/mysqld  Can't find file ' ./mysql/host.frm' (error:13)

        这主要是linux 用户权限组的问题:

        cd  /var/lib/mysql/mysql/    #就是进入到mysql这个数据库中,这里面存储了mysql用户角色和其他元数据信息

        chown mysql:mysql ./* 

       再次启动mysql

        service mysql start  或  /etc/rc.d/init.d/mysql start 

   6. mysql 数据的root用户进行添加密码

      /usr/bin/mysqladmin -u root  password 'root123'

       然后再次登录

       mysql -u root –p

       rpm包安装的MySQL是不会安装/etc/my.cnf文件的,解决方法,

       只需要复制/usr/share/mysql目录下的my-huge.cnf 文件到/etc目录,并改名为my.cnf即可

       cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

       处于安全考虑,Mysql默认是不允许远程访问的,可以使用下面开启远程访问

       赋予任何主机访问数据的权限
       GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION

       删除一些可能有安全隐患的数据

       DELETE FROM mysql.user WHERE  user = ''  OR  host = '';

       DROP DATABASE test;

    使修改生效
       FLUSH PRIVILEGES

       如果依然不能远程访问的话,那就很可能防火墙的原因了,可以在防火墙中开启3306端口或者干脆关掉防火墙。

       /etc/init.d/iptables status

       会得到一系列信息,说明防火墙开着。

       /etc/init.d/iptables stop

       永久关闭:

       chkconfig --level 35 iptables off


     7. 修改mysql默认的字符集

         一般mysql通过yum安装默认字符集是latin1 ,一般我们都修改成utf8,借助网上其他人的博客方式修改,并且已经验证过了

        两个参数:
   1.在[mysqld]下添加
    default-character-set=utf8(注意:mysql 5.5 版本之后必须写成: character-set-server=utf8

            init_connect = 'SET NAMES utf8'
   2.在[client]下添加
     default-character-set=utf8注意mysql 5.5 版本之后必须写成: character-set-server=utf8


         每个人可能在安装过程中遇到各种问题,一般建议看下错误日志,里面详细记载了mysql安装错误的原因,

         mysql安装还是比较简单的,oracle安装稍微复杂一些,不过解决问题的思路都一样。