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. 20155232 2016-2017-3 《Java程序设计》第5周学习总结

    20155232 2016-2017-3 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 异常处理 1.使用try和catch 将正常的流程放try块中,异常处理放catch ...

  2. reactjs点滴记录

    reactjs: render方法后面,}后面,不要加分号,加逗号,因为是对属性赋值,否则报错: var Test = React.createClass({ render:function(){re ...

  3. jQuery入门:认识jQuery

    jQuery是一个轻量级的JavaScript库,拥有独特的选择器.出色的DOM操作.可靠的事件处理.完善的兼容性.链式操作以及方便的ajax等功能.jQuery的最新版本可在官方网站(http:// ...

  4. 爬虫入门系列(一):快速理解HTTP协议

    4月份给自己挖一个爬虫系列的坑,主要涉及HTTP 协议.正则表达式.爬虫框架 Scrapy.消息队列.数据库等内容. 爬虫的基本原理是模拟浏览器进行 HTTP 请求,理解 HTTP 协议是写爬虫的必备 ...

  5. Android ShellUtils

    Android中执行Shell命令的工具类 public class ShellUtils { public static final String COMMAND_SU = "su&quo ...

  6. require.js学习笔记

    使用require.js的好处? 1 有效的防止命名冲突(可以将变量封装在模块内,通过暴露出的接口解决命名冲突) 2 解决不同JS文件中的依赖 3 可以让我们的代码以模块化的方式组织 官方网站http ...

  7. NodeJs系列二:你好,世界

    安装nodejs 什么是nodejs中的模块 hello,world

  8. EF的DbSet属性的Where查询,注意事项

    #1 Func<T,bool>与 Expression<Func<T,bool>>的区别 Func<T,bool>本身就是一个委托(delegate), ...

  9. Jsoup抓取、解析网页和poi存取excel综合案例——采集网站的联系人信息

    需求:采集网站中每一页的联系人信息 一.创建maven工程,添加jsoup和poi的依赖包 <!-- https://mvnrepository.com/artifact/org.apache. ...

  10. C语言学习第九章

    学习C语言的最后一节课了,原因嘛上一章的末尾说过了,其实写这篇博客的时候以后开始学习Java一个多月了,一直因为各种各样的原因没有坚持做到每天一篇学习记录,可能主要因为懒吧....也有点笨,Java的 ...