1.说明:

  安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件;第二种是使用RPM或其他包进行安装,这种安装进程会自动完成系统的相关配置,所以比较方便。这里仅说明通过不针对特定平台的通用安装二进制文件安装方式。

2.下载安装包:

  官方下载地址:

  http://dev.mysql.com/downloads/mysql/#downloads

  或镜像文件下载:

  http://dev.mysql.com/downloads/mirrors.html

3.  下载文件(根据操作系统选择相应的发布版本):

  mysql-5.5.49-linux2.6-i686.tar.gz

4.  安装步骤

  a.  检查是否已安装,grep的-i选项表示匹配时忽略大小写 

    [root@localhost JavaEE]#rpm -qa|grep -i mysql

    mysql-libs-5.1.-.el6.x86_64

    *可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系:

    [root@localhost JavaEE]#rpm -e mysql-libs-5.1.-.el6.x86_64 --nodeps

  b.   添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。 

    [root@localhost JavaEE]#groupadd mysql

    [root@localhost JavaEE]#useradd -r -g mysql mysql 

    * useradd -r参数表示mysql用户是系统用户,不可用于登录系统,-g是将用户mysql添加到mysql组中。

  c.  将二进制文件解压到指定的安装目录,我们这里指定为/usr/local

    [root@localhost ~]# cd/usr/local/

    [root@localhost local]#tar zxvf /soft/mysql-5.5.-linux2.-x86_64.tar.gz(解包并解压)

    *解压后在/usr/local/生成了解压后的文件夹mysql-5.5.29-linux2.6-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。

     [root@localhost local]#ln -s mysql-5.5.-linux2.-x86_64 mysql

  d.   /usr/local/mysql/下的目录结构

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

docs

Manual in Info format

man

Unix manual pages

include

Include (header) files

lib

Libraries

scripts

mysql_install_db

share

Miscellaneous support files, including error messages, sample configuration files, SQL for database installation

sql-bench

Benchmarks

  e.  进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。 

    [root@localhost local]#cd mysql

    [root@localhost mysql]#chown -R mysql .

    [root@localhost mysql]#chgrp -R mysql .

  f.   执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql。

    [root@root mysql]scripts/mysql_install_db --user=mysql

    *如果mysql的安装目录(解压目录)不是/usr/local/mysql,那么还必须指定目录参数,如

    [root@root mysql]scripts/mysql_install_db --user=mysql \ --basedir=/opt/mysql/mysql \ --datadir=/opt/mysql/mysql/data

    *mysql_install_db参考:http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html#option_mysql_install_db_basedir

    *将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

    [root@root mysql]chown -R root .

    [root@root mysql]chown -R mysql data

  g.   复制配置文件

    [root@root mysql] cp support-files/my-medium.cnf /etc/my.cnf

  h.  将mysqld服务加入开机自启动项。

    *首先需要将support-files/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld。 

    [root@root mysql]  cp support-files/mysql.server /etc/init.d/mysqld(使用cp命令同时能重命名)

    *通过chkconfig命令将mysqld服务加入到自启动服务项中。

    [root@root mysql]#chkconfig --add mysqld

    *注意服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称。

    *查看是否添加成功

    [root@root mysql]#chkconfig --list mysqld

    mysqld   :off :off        :on        :on        :on        :on        :off

  i.  重启系统,mysqld就会自动启动了。

    *检查是否启动

    [root@root mysql]#netstat -anp|grep mysqld (查看mysqld的端口状态)

    tcp              0.0.0.0:               0.0.0.0:*                   LISTEN      /mysqld        

    unix       [ ACC ]     STREAM     LISTENING      /mysqld        /tmp/mysql.sock

    *如果不想重新启动,那可以直接手动启动。

   [root@root mysql]#service mysqld start

   Starting MySQL.. SUCCESS!

  j. 运行客户端程序mysql,在mysql/bin目录中,测试能否连接到mysqld。

    [root@root mysql]#/usr/local/mysql/bin/mysql

      Welcome to the MySQLmonitor.  Commands end with ; or \g.

      Your MySQL connection idis 

      Server version:5.5.-log MySQL Community Server (GPL)

      Copyright (c) , ,Oracle and/or its affiliates. All rights reserved.

      Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.

      Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.

    mysql>

      Bye

  k. 初始化root用户的密码:

    [root@root mysql]#mysqladmin -u root password "new_password"

    [root@root mysql]#mysqladmin -u root -h host_name password "new_password"

    *host_name是主机名,通过命令hostname可以获取到。

  l. 为了避免每次都输入mysql的全路径/usr/local/mysql/bin/mysql,可将其加入环境变量中,在/etc/profile最后加入两行命令: 

  MYSQL_HOME=/usr/local/mysql

  export PATH=$PATH:$MYSQL_HOME/bin

    在终端中输入:

  [root@root3 mysql]# source /etc/profile

    使修改的环境变量生效。

   这样就可以在shell中直接输入mysql命令来启动客户端程序了。

  [root@root mysql]#mysql

      Welcome to the MySQLmonitor.  Commands end with ; or \g.

      Your MySQL connection idis 

      Server version:5.5.-log MySQL Community Server (GPL)

      Copyright (c) , ,Oracle and/or its affiliates. All rights reserved.

      Oracle is a registeredtrademark of Oracle Corporation and/or its

      affiliates. Other namesmay be trademarks of their respective

      owners.

      Type 'help;' or '\h' forhelp. Type '\c' to clear the current input statement.
      
      mysql>

5.安装过程中碰到的一些错误

  a. 当我在局域网其他机器的客户端访问这个mysql的时候,报如下错误:

  C:\Users>mysql -uroot -p123456 -h 192.168.0.17 mysql: [Warning] Using a password on the command line interface can be insecure.ERROR  (HY000): Host '192.168.0.7' is not allowed to connect to this MySQL server

  这段话的大体意思是192.168.0.7这台机器不允许连接mysql,通过在服务器端连接mysql,查看mysql数据库中的user表:

  mysql> use mysql
  Database changed
  mysql> select user,host from user;
  +------+-----------+
  | user | host |
  +------+-----------+
  | root | 127.0.0.1 |
  | root | :: |
  | | localhost |
  | root | localhost |
  +------+-----------+
   rows in set (0.00 sec)

   由以上所知:root用户只允许在127.0.0.1和localhost上连接,说明192.168.0.7没有权限连接mysql。开启远程连接.

   1).授权法  

  mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.7' IDENTIFIED BY '' WITH GRANT OPTION;
  Query OK, rows affected (0.23 sec)   mysql> select user,host from user ;
  +------+-------------+
  | user | host |
  +------+-------------+
  | root | 192.168.0.7 |
  | root | 127.0.0.1 |
  | root | :: |
  | | localhost |
  | root | localhost |
  +------+-------------+
   rows in set (0.00 sec)  

    mysql> flush privileges;
    Query OK, 0 rows affected (0.68 sec)

   通过这条语句,允许地址192.168.0.7上用root用户,密码123456来连接mysql的所有数据库,付给select,insert,update,delete权限。如果要允许所有的ip,则用'%'替换ip地址。

   开启远程登录参考: Mysql开启远程连接方法

  b.在做Mysql初始化的时候,报错The host 'root' could not be looked up with resolveip.解决方法如下:

  [root@root mysql]#/usr/local/mysql/bin/resolveip root
  /usr/local/mysql/bin/resolveip: Unable to find hostid for 'root': host not found
  [root@root mysql]#hostanme
  root
  [root@root mysql]#cat /etc/hosts
  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: localhost localhost.localdomain localhost6 localhost6.localdomain6
  [root@root mysql]#vim /etc/hosts
  127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: localhost localhost.localdomain localhost6 localhost6.localdomain6
  127.0.0.1 root --添加的一行
  [root@root mysql]#/usr/local/mysql/bin/resolveip root
  IP address of root is 127.0.0.1

   最后运行mysql初始化

  [root@root mysql]#./script/mysql_db_install

  c. 防火墙的问题。

     a.关闭防火墙

    http://www.cnblogs.com/machanghai/p/5464714.html

   b.将相关服务端口放开。

   d. 如果远程和本地都登陆不上mysql服务器,因为要修改msyql数据库的user表的数据,这个表保存着登录的权限信息,可采用以下方法:

    a.如果mysql启动着,先关闭mysql服务器。

    b.mysqld_safe --user=mysql --skip-grant-tables --skip-networking & (跳过权限表的启动方式)

    c.此时就可以访问到mysql数据库了。可以通过sql语句修改user表的权限信息即可。(注意user是root,host是localhost的数据必须存在)。

    d.因为此时mysql是以跳过权限表的方式启动的,所以要关闭mysql服务器,使用命令mysqladmin -uroot -p shutdown。然后以正常方式启动。

  e. 使用service mysqld start时候启动错误:Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql/data/mch.pid).

   第一个mysql启动不了了,我重新安装mysql的时候报错,解决方法参考:http://www.111cn.net/database/mysql/47258.htm

  f. Mysql默认访问的目录是/usr/local/mysql, 如果安装的mysql不在/usr/local/mysql目录下的话,一定要设置my.cnf配置文件的datadir和basedir目录。不然mysql启动不了。

   

参考文章:1.http://blog.csdn.net/superchanon/article/details/8546254/

     2.http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

     3.http://dev.mysql.com/doc/refman/5.5/en/binary-installation.html

     4.http://www.tuicool.com/articles/RZJnim

     5.http://www.cnblogs.com/qq78292959/p/3641972.html

     6. Mysql开启远程连接方法

CentOS6.5_x86安装Mysql5.5.49的更多相关文章

  1. CentOS6.5安装MySQL5.6

    CentOS6.5安装MySQL5.6,开放防火墙3306端口,允许其他主机使用root账户密码访问MySQL数据库 查看操作系统相关信息 ** 该查看方法只适用于CentOS6.5 (lsb_rel ...

  2. centos6.5安装Mysql5.6及更改密码

    (一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...

  3. Centos6.5安装MySQL5.6备忘记录

    Centos6.5安装MySQL5.6 1. 查看系统状态 [root@itzhouq32 tools]# cat /etc/issue CentOS release 6.5 (Final) Kern ...

  4. CentOS6.5安装mysql5.7

    CentOS6.5安装mysql5.7 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql ...

  5. 第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6

    第三百九十九节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署CentOS6.5安装mysql5.6 1.检测系统是否已经安装过mysql或其依赖,若已装过要先将其删除,否则第4步 ...

  6. centos6.8安装mysql5.6【转】

    首先先要去看看本机有没有默认的mysql, 本地默认有的,我们应先卸载,在安装新的这个逻辑. rpm -qa | grep mysql 我本机默认安装的mysql5.1.73 下一步删除 rpm -e ...

  7. centos6.6安装mysql5.7.6(采用MySQL Yum Repository)—(先看最后一行)

    在centos6.6系统上采用MySQL Yum Repository安装mysql5.7.6: 帮助文档:http://dev.mysql.com/doc/refman/5.7/en/linux-i ...

  8. centos6.8安装mysql5.5

    在使用阿里云的时候发现centos6.8系统自带的源当中没有mysql5.5,在网易这些源里面也是5.1的版本.这里安装mysql5.5的话需要另外添加一个源. 1.查看是否已经安装了MySQL rp ...

  9. Centos6.5安装mysql5.7详解

    最近在linux上面安装mysql5.7上真是遇到了很多坑,真是让人头疼,在这里跟大家简单分享一下流程跟注意的地方. 1.查看linux版本是6.5 cat /etc/redhat-release 2 ...

随机推荐

  1. ASP.NET Core MVC 源码学习:MVC 启动流程详解

    前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...

  2. [UWP]了解模板化控件(2.1):理解ContentControl

    UWP的UI主要由布局容器和内容控件(ContentControl)组成.布局容器是指Grid.StackPanel等继承自Panel,可以拥有多个子元素的类.与此相对,ContentControl则 ...

  3. ASP.NET Core:使用Dapper和SwaggerUI来丰富你的系统框架

    一.概述 1.用VS2017创建如下图的几个.NET Standard类库,默认版本为1.4,你可以通过项目属性进行修改,最高支持到1.6,大概五月份左右会更新至2.0,API会翻倍,很期待! 排名分 ...

  4. [C++]STL容器Vector的内存释放

    直接抛出两句话,说明到底应该如何释放Vector占用的内存. “vector的clear不影响capacity,你应该swap一个空的vector.” <Effective STL>中的“ ...

  5. 关于VO中的Attribute的问题

    对于新手来说,有些时候会遇到VO中的Attribute的各种问题; 总结如下:1,你页面上输入了值,但是点击保存之后值并不能存到数据库,这个是因为该字段在VO中不是基于EO的  2,你将一个VO中的E ...

  6. (一) 这就是所谓的Node.js------单线程,非阻塞,事件驱动

    Node.js 第一天笔记(V1) 一:Node.js到底是从何而来 2008年的秋天,一个名叫做Ryan Dahl(罗伊・达尔)的年轻人在玩了几年服务器编程之后,越发感到服务器高并发性能的瓶颈是一个 ...

  7. JavaScript定时器分析

    一.事件循环 JavaScript是单线程,同一个时间只能做一件事情,所以执行任务需要排队.如果前一个耗时很长,那么下一个只能等待. 1)两种任务 为了更好的处理任务,JavaScript语言的设计者 ...

  8. ado.net知识整理

    对ado.net总是半知半解,五大对象也总是混淆,近期自己做小项目练手,整理了一些知识点 ado.net的无要素(摘自其他博文) Connection 物件    Connection 对象主要是开启 ...

  9. JavaScript 函数的定义-调用、注意事项

    函数定义 函数语句定义 function(a,b){ return a+b; } 表达式定义 var add = function(a,b){return a+b}; //函数表达式可以包含名称,这在 ...

  10. 利用 force recovery 解决服务器 crash 导致 MySQL 重启失败的问题

    小明同学在本机上安装了 MySQL 5.7.17 配合项目进行开发,并且已经有了一部分重要数据.某天小明在开发的时候,需要出去一趟就直接把电脑关掉了,没有让 MySQL 正常关闭,重启 MySQL 的 ...