MySQL For RedHat Linux(源码安装,附安装包)

时间:2021-10-13 02:28:49
  1. 准备工作

    http://pan.baidu.com/s/1GsS3s
    下载安装包 Mysql.zip
  2. 把相应的包放在 /opt 目录下 解压mysql.tar.gz
  3. 检测系统是否安装MySQL
    1、执行 #rpm -qa | grep -i mysql
    如果出现:
    [root@localhost Mysql]# rpm -qa|grep -i mysql

    [root@localhost Mysql]#
    则未安装MySQL,直接执行第三步,否则安装了MySQL,执行第2步,卸载MySQL

    2、卸载MySQL,详细请看地址:http://www.iitshare.com/centeros-6-3-64-bit-uninstall-mysql5-5-25.html

    如果系统自带MySQL

    判断系统自带MySQL,执行#rpm -qa | grep -i mysql
    如果出现(类似):

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

    mysql-libs-5.1.66-2.el6_3.x86_64

    则执行:[root@localhost Mysql]# rpm –ev --nodeps mysql-libs-5.1.66-2.el6_3.x86_64 卸载MySQL

  4. 安装MySQL
    1. 转到安装包目录

      [root@localhost Mysql]# cd /opt/Mysql/

      [root@localhost Mysql]# ls

      [root@localhost Mysql]#rpm

    2. 检查本机Linux是否已安装好make,bison,cmake,gcc-c++,ncurses,如果尚未安装,先安装以上包,安装方法如下:

      [root@localhost Mysql]# rpm –ivh libgcc-4.4.7-3.el6.x86_64.rpm

      [root@localhost Mysql]# rpm –ivh libstdc++-devel-4.4.7-3.el6.x86_64.rpm

      [root@localhost Mysql]# rpm –ivh gcc-4.4.7-3.el6.x86_64.rpm

      [root@localhost Mysql]# rpm –ivh gcc-c++-4.4.7-3.el6.x86_64.rpm

      [root@localhost Mysql]# rpm –ivh bison-2.4.1-5.el6.x86_64.rpm

      [root@localhost Mysql]# rpm –ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

       

      注意:一般系统都会默认安装有make

    3. 安装cmake

      [root@localhost Mysql]#tar –zxv –f cmake-2.8.9.tar.gz

      [root@localhost Mysql]#cd cmake-2.8.9

      [root@localhost Mysql]#./configure

      [root@localhost Mysql]#make

      [root@localhost Mysql]#make install

    4. 创建mysql的安装目录及数据库存放目录
      [root@localhost Mysql]#mkdir -p /usr/local/mysql

      [root@localhost Mysql]#mkdir -p /usr/local/mysql/data

    5. 创建mysql用户及用户组
      [root@localhost Mysql]# groupadd mysql

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

    6. 安装MySQL

      [root@localhost Mysql]#tar –zxv –f mysql-5.6.16.tar.gz

      [root@localhost Mysql]#cd mysql-5.6.16

      [root@localhost Mysql]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

      注意:此命令为一行

      [root@localhost Mysql]#make

      [root@localhost Mysql]#make install

       

      参数说明:

      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录

      -DINSTALL_DATADIR=/usr/local/mysql/data //数据库存放目录

      -DDEFAULT_CHARSET=utf8     //使用utf8字符

      -DDEFAULT_COLLATION=utf8_general_ci //校验字符

      -DEXTRA_CHARSETS=all     //安装所有扩展字符集

      -DENABLED_LOCAL_INFILE=1    //允许从本地导入数据

       

      注意事项:

      重新编译时,需要清除旧的对象文件和缓存信息。编译过程中能够直观的看出编译成功没有

      # make clean

      # rm -f CMakeCache.txt

      # rm -rf /etc/my.cnf

       

      配置

      [root@localhost Mysql]# cd /usr/local/mysql

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

      [root@localhost mysql]# chown -R mysql:mysql data

      [root@localhost mysql]#cp /opt/Mysql/my.cnf /etc/my.cnf

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

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

      设置环境变量

      [root@localhost mysql]# vi /root/.bash_profile

      在PATH=$PATH:$HOME/bin添加参数为:

      PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

      保存修改

      [root@localhost mysql]# source /root/.bash_profile

       

      手动启动mysql

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

      [root@ localhost mysql]# ./bin/mysqld_safe --user=mysql &   //启动MySQL,但不能停止

      启动日志写在此文件下:/usr/local/mysql/data/localhost.err

      关闭MySQL服务

      [root@ localhost mysql]# mysqladmin -u root -p shutdown  //这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。

      另一种简单的启动mysql的方法(mysql已经被添加到系统服务中)

      [root@ localhost ~]# service mysql.server start

      [root@ localhost ~]# service mysql.server stop

      [root@ localhost ~]# service mysql.server restart

      如果上述命令出现:mysql.server 未识别的服务

       

      则可能mysql还没添加到系统服务中,下面用另一种方法添加:

      [root@ localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中

      注意:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在cd/usr/local/mysql/support-files/mysql.server中。

       

      然后再用#service mysql start 来启动mysql即可。

    7. 检测 mysql 3306端口是否打开:[root@localhost Mysql]# netstat –nat

      如果出现如下时,表示mysql 3306端口打开

      Active Internet connections (servers and established)

      Proto Recv-Q Send-Q Local Address      Foreign Address     State   

      tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN

      如果没有启动3306端口,则表示mysql服务没启动

      启动mysql服务:service mysqld start 或者 service mysql start

      在检测mysql 3306端口是否打开:[root@localhost Mysql]# netstat –nat

    8. 修改mysql密码
      可选步骤:设置root 密码:

      /usr/local/mysql/bin/mysqladmin -u root password 'new-password'

      /usr/local/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

      此步骤需要在数据库启动之后才能执行成功)

       

      以下下为另一种修改MySQL的root用户的密码以及打开远程连接

      [root@ rhel5~]# mysql -u root mysql

      mysql>use mysql;

      mysql>desc user;

      mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。

      mysql>update user set Password = password('xxxxxx') where User='root';

      mysql>select Host,User,Password from user where User='root';

      mysql>flush privileges;

      mysql>exit

       

      重新登录:mysql -u root -p

       

      若还不能进行远程连接,则关闭防火墙

      [root@ rhel5~]# /etc/rc.d/init.d/iptables stop

      复制代码

      注:如果不能远程连接,出现错误mysql error number 1130,则加入下面语句试试:

       

      mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

       

       

    9. ps aux |grep mysq* 查看关于mysql的进程