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. Activity猫的一生-故事讲解Activity生命周期

    大家好,关于Android中Activity的生命周期,网上大多数文章基本都是直接贴图.翻译API,比较笼统含糊不清. 我就用故事来说一说: 有个人叫User,TA养了几只猫,有只猫叫Activity ...

  2. dotweb——go语言的一个微型web框架(一)

    dotweb是16年正式托管到github的一个开源项目,go语言的web框架目前也有很多,出名的有bee和echo.它们都是很优秀的框架,但是我们喜欢更轻.更小的东西,经历一些之后我们更青睐微服务这 ...

  3. JS中的异步以及事件轮询机制

    一.JS为何是单线程的? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊.(在JAVA和c#中的异步 ...

  4. iOS 给UITextView加一个placeholder

    苹果并没有为UITextView提供placeholder功能.我们可以通过两种办法实现. 方法一: 思路:设置默认显示的文字,颜色设置为灰色.代理方法监听textView点击. 缺点:如果点击到文字 ...

  5. 7.Redis常用命令:ZSet

    Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联, ...

  6. windows server 定期备份数据库脚本

    将以下文件保存为.bat脚本,在计划任务中添加定时任务运行此脚本即可.脚本中的备份目录,数据库目录和压缩文件目录请自行修改. @echo off rem 当前路径切换到备份数据库目录 cd D:\wa ...

  7. ajax大洋第一步

    Ajax工具包 Ajax并不是一项新技术,它实际上是几种技术,每种技术各尽其职,以一种全新的方式聚合在一起. 服务器端语言:服务器需要具备向浏览器发送特定信息的能力.Ajax与服务器端语言无关. XM ...

  8. memcached的安装以及php两个扩展软件安装(memcache、memcached)

    百度云安装包:http://pan.baidu.com/s/1pKZeDwn  k3ap 1.安装memcached Memcached是基于libevent的事件处理,所以它的安装依赖libeven ...

  9. python 实例方法,类方法和静态方法

    在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法, ...

  10. 20分钟快速了解Redis

    Redis可以说是目前最火爆的NoSQL数据库! 过去几年,Memcached很盛行,现在有很多公司已将Memcached替换成了Redis.当然,很多人替换并不清楚为什么,只是感觉不想让主流抛弃,这 ...