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. 环境搭建-VMware安装系统

    常用的虚拟化软件: 1.vmware:收费 commercial(商业版的) 2.vitualbox:free   虚拟化软件:vmware workstation(虚拟系统工作站)   安装系统任务 ...

  2. C语言::模拟实现strlen函数

    题目要求 编写一个C语言程序模拟实现strlen函数. 算法 strlen函数功能是计算字符串中字符的个数.(除\0外) 而字符串本身就是一个字符数组,只不过末尾以\0结束. 因此,我们只需遍历除\0 ...

  3. jQuery ajax 与服务器交互方法

    1.HTML <table> <tr> <td>用户名:</td> <td><input type="text" ...

  4. QQ第三方登录教程

    教程戳这里

  5. CF #404 (Div. 2) D. Anton and School - 2 (数论+范德蒙恒等式)

    题意:给你一个由'('和')'组成的字符串,问你有多少个子串,前半部分是由'('组成后半部分由')'组成 思路:枚举这个字符串中的所有'('左括号,它左边的所有'('左括号的个数为num1,它的右边的 ...

  6. 手机交互应用服务(状态栏提示信息Notifications)

    官方的一个简单的例子: NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon ...

  7. SQL SERVER 远程备份DB

    --检查sqlserver所在服务的运行账号是否有权限访问共享文件夹,没有的话右键添加写权限 --开启权限sp_configure 'show advanced options', 1;gorecon ...

  8. 一个web应用的诞生(11)--在探首页

    就要面对本章的一个难点了,说是难点可能仅仅对于我来说,毕竟我是一个js渣,既然首页打算使用动态加载的形式,那么与后台交互的方式就要进行选择,目前比较流行的为RESTful的形式,关于RESTful的文 ...

  9. AngularJS路由跳转

    AngularJS是一个javascript框架,通过AngularJS这个类库可以实现目前比较流行的单页面应用,AngularJS还具有双向数据绑定的特点,更加适应页面动态内容. 所谓单页面应用就是 ...

  10. 最近公共祖先LCA(Tarjan算法)的思考和算法实现

    LCA 最近公共祖先 Tarjan(离线)算法的基本思路及其算法实现 小广告:METO CODE 安溪一中信息学在线评测系统(OJ) //由于这是第一篇博客..有点瑕疵...比如我把false写成了f ...