以下安装方式为源码包安装方式

  准备工作

  看系统上有没有安装了旧版本的mysql ,用下面的命令

  # rpm -qa | grep mysql

  如果有,用以下命令卸载

  # rpm -e --nodeps 上步显示mysql名称

  安装编译mysql 需要的依赖包

  # yum install  libevent*  libtool* autoconf* libstd* ncurse* bison* openssl*

  # yum -y install gcc gcc-c++

  安装cmake,mysql5.5之后需要用cmake支持编译安装

    下载安装cmake

    # cd /tmp

    # wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz

    # tar -xf cmake-2.8.12.1.tar.gz

    # cd cmake-2.8.12.1

    # ./configure && make && make install

    检查cmake是否已安装好

    # cmake --version

  编译安装

  下载好源码包后进行解压

    # tar xvf mysql-5.6.14.tar.gz

    # cd mysql-5.6.14

  编译安装

    # cmake \

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DSYSCONFDIR=/etc \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
    -DMYSQL_TCP_PORT=3306 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci
  # make && make install
  此处编译大概花费20分钟左右。
 
 配置Mysql
  添加mysql 用户组和用户
    # groupadd mysql
    # useradd -g mysql mysql
  赋予权限
    # chown -R mysql:mysql /usr/local/mysql
  Mysql服务和脚本
    # cd /usr/local/mysql
    # cp support-files/mysql.server /etc/init.d/mysqld 
    # chmod +x /etc/init.d/mysqld 
    # chkconfig --add mysqld 
    # chkconfig mysqld on  
  初始化配置
    # scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    在/usr/local/mysql目录下自动生成my.cnf的配置文件,修改mysql配置文件,在末尾新增以下内容
    # vim my.cnf
      binlog-format=ROW
      log-bin=master-bin.log
      log-slave-updates=true
      gtid-mode=on
      enforce-gtid-consistency=true
      master-info-repository=TABLE
      relay-log-info-repository=TABLE
      sync-master-info=1
      slave-parallel-workers=2
      binlog-checksum=CRC32
      master-verify-checksum=1
      slave-sql-verify-checksum=1
      binlog-rows-query-log_events=1
      server-id=1
      report-port=3306
      port=3306
      datadir=/usr/local/mysql/data
      socket=/var/lib/mysql/mysql.sock
      report-host=master.magedu.com
  
    新增以上内容后保存并退出
 
  启动mysq
    # service mysqld start
  配置PATH
    在/etc/profile末尾加上以下信息,保存后并使配置生效
    # vi /etc/profile
        PATH=/usr/local/mysql/bin:$PATH
        export PATH
    # source /etc/profile
  设置Mysql账户信息:
  # mysql -uroot
   改变当前数据库为mysql:
           mysql> use mysql
           设置从本地主机登录的root帐号密码:
           mysql> set password for root@localhost=password('your password');
           或:
           mysql> update user set password=password('your password') where user='root' and host='localhost';
           删除匿名帐号: 
           mysql> delete from user where user='' ;
           删除密码为空的帐号:
           mysql> delete from user where password='';
           删除允许非localhost主机登录的帐号:
           mysql> delete from user where host<>'localhost' ;
           执行下面的命令使更改生效:
           mysql> flush privileges ; 
           执行下面的命令退出mysql命令行:
           mysql> quit
           或:
           /q
 设置远程访问权限:

  登录MySQL

  # mysql -uroot -p
  执行如下命令:
     mysql> grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'ROOT-PASSWORD';
     mysql> flush privileges;
     mysql> exit
  192.168.0.1是连接mysql服务器的客户端ip,如果指定所有,则用%来表示

  设置默认端口开放:

  # iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
  # iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  # service iptables save
  # service iptables restart
  # chkconfig --level 345 mysqld on
 
 
 安装完成后,即可用工具Navicat for mysql访问此数据库。 
 
 工具连接提示:ERROR 1045 (28000): Access denied for user 'root'@'192.168.2.1' (using password: YES)
  
  解决方案 :
    编辑mysql配置文件my.cnf,在[mysqld]这个条目下加入
     # vi  /usr/local/mysql/my.cnf
      skip-grant-tables
  保存后重启服务
    # service mysqld restart
    # mysql -u root -p
  不需要输入密码,直接回车进入
  

  1.进入mysql数据库:

    mysql> use mysql;

  2.给root用户设置新密码,蓝色部分自己输入:
    mysql> update user set password=password("新密码") where user="root";

  3.刷新数据库
    mysql> flush privileges;

  4.退出mysql:
    mysql> quit

  完成后把my.ini的配置修改为原来的配置,删除掉加入的skip-grant-tables
   # vi  /usr/local/mysql/my.cnf
    skip-grant-tables
  保存后重启服务
  # service mysqld restart
  再次用Navicat for mysql访问此数据库,测试时会提示连接成功。