• MySQL多种安装方式选择


     

    1.rpm包安装方式

    rpm包的安装方式非常简单,这里以el6平台下的mysql-5.6.34版本为例,首先,要通过上述搜狐镜像地址下载到如下四个MySQL相关软件安装包。

    a.下载安装包

    MySQL-client-5.6.34-1.el6.x86_64.rpm

    MySQL-devel-5.6.34-1.el6.x86_64.rpm

    MySQL-server-5.6.34-1.el6.x86_64.rpm

    MySQL-shared-5.6.34-1.el6.x86_64.rpm

    一般来说,其中的MySQL-server-5.6.34-1.el6.x86_64.rpm和MySQL-client-5.6.34-1.el6.x86_64.rpm这两个软件包是必须要安装的,至于另外两个软件包,则可视实际需要进行安装,不过一般建议一起安装。

    可以把这四个RPM包上传到服务器的目录中,然后执行如下rpm命令进行安装:

    [root@oldboytools]# rpm -qa|grep mysql或者mysql --version   #<==查找已经安装的mysql的包。

    mysql-libs-5.1.73-7.el6.x86_64

    rpm -e mysql-libs-5.1.73-7.el6.x86_64       #<==卸载系统已经安装的mysql依赖包。

    执行安装命令:

    rpm -ivh MySQL-client-5.6.34-1.el6.x86_64.rpm  #<==ivh是以verbose模式安装

    rpm -ivh MySQL-devel-5.6.34-1.el6.x86_64.rpm

    rpm -ivh MySQL-shared-5.6.34-1.el6.x86_64.rpm

    rpm -ivh MySQL-server-5.6.34-1.el6.x86_64.rpm

    执行上述命令即可完成MySQL软件的安装。

    在采用rpm包安装方式时,必须要官方或第三方提供了现成的rpm软件包,否则是无法使用该方式安装的。另外,和直接采用yum的安装方式相比,rpm包的安装方式往往可以选择更新的版本,但是rpm包安装也有自身的问题,例如,无法满足定制化安装,比如,不能进行编译参数、路径等的更改。

    2.利用yum安装

    yum方式安装MySQL数据库时,只需执行一个命令yum install mysql-server -y即可,yum方式的安装原理是在执行yum安装命令后,会自动从yum源地址下载相应名称的MySQL数据库rpm包,然后到系统上安装,并自动解决各种软件包之间的依赖问题。这是一个非常不错的安装软件的方式,不仅仅是针对MySQL,安装其他软件也是如此。

    Yum安装方式的最大优点就是超级简单,但是它也有自身的问题,例如它继承了rpm包的无法定制化安装的问题,另外一个缺点是采用默认的yum安装时,一般yum源带的软件版本都比较低.

    但是不知道初始密码,不能进行数据库root密码的修改,因为缺少mysql.user表,后面发现是自己配置有错误,按照网上的教程弄,没人指点,有些细节弄死人.

    原因:

    一次源码新装的mysql,由于没有复制my-default.cnf到/etc/my.cnf位置,在启动mysql的时候碰到了无法打开mysql.user表的错误。具体错误为:[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist。下面是该错误的描述及其解决办法。

    1、现象描述123456

    [root@HKBO scripts]# service mysqld start
    Starting MySQL..The server quit without updating PID file (/var/lib/mysql/HKBO.pid).[FAILED]

    #查看错误日志
    [root@HKBO scripts]# tail /var/log/mysqld.log
    InnoDB: Apply batch completed
    2014-12-08 11:01:37 15721 [Note] InnoDB: 128 rollback segment(s) are active.
    2014-12-08 11:01:37 15721 [Note] InnoDB: Waiting for purge to start
    2014-12-08 11:01:37 15721 [Note] InnoDB: 5.6.12 started; log sequence number 1600607
    2014-12-08 11:01:37 15721 [Note] Server hostname (bind-address): '*'; port: 3306
    2014-12-08 11:01:37 15721 [Note] IPv6 is available.
    2014-12-08 11:01:37 15721 [Note]   - '::' resolves to '::';
    2014-12-08 11:01:37 15721 [Note] Server socket created on IP: '::'.
    2014-12-08 11:01:37 15721 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
    141208 11:01:37 mysqld_safe mysqld from pid file /var/lib/mysql/HKBO.pid ended

    # Author : Leshami
    # Blog   :  http://blog.csdn.net/leshami

    2、解决办法
    #查看当前的my.cnf配置文件
    [root@HKBO scripts]# more /etc/my.cnf |grep -v ^#
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    old_passwords=1

    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    #由于编译安装时指定的路径为/opt/data以及mysql_install_db时指定的datadir也为/opt/data,而my.cnf为缺省的路径
    #因此修改datadir至正确路径后,问题解决
    [root@HKBO scripts]# vi /etc/my.cnf
    [root@HKBO support-files]# more /etc/my.cnf |grep datadir
    datadir=/opt/data

    [root@HKBO support-files]# service mysqld start
    Starting MySQL.[  OK  ]

  • 相关阅读:
    c++单例设计模式---17
    c++友元函數---16
    c++const关键字---15
    c++浅拷贝和深拷贝---14
    linux shell 基本语法
    Linux静态库生成
    alsa wav
    Android Butterknife使用方法总结 IOC框架
    利用cglib给javabean动态添加属性,不用在建VO
    钢铁雄心三 通过事件做修改器
  • 原文地址:https://www.cnblogs.com/liulei-LL/p/7898814.html
Copyright © 2020-2023  润新知