zoukankan      html  css  js  c++  java
  • Centos下安装Mysql

    一、二进制免编译包安装  参考:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=10105&highlight=mysql5.7

    1、下载地址: http://mirrors.sohu.com/mysql/MySQL-5.7/    文件名还glibc的为免编译的二进制安装包
         文件:  mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz    mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz 

    2、官网下载:http://dev.mysql.com/downloads/mysql/   
        Select Platform:  选择 -->  linux - Generic   然后选择 (mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz)  

    Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive 5.7.13 610.2M
    (mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz)

    正文:

    二:卸载旧版本

    使用下面的命令检查是否安装有MySQL Server

    rpm -qa | grep mysql  
    显示: mysql-libs-5.1.71-1.el6.x86_64

    有的话通过下面的命令来卸载掉

    rpm -e mysql-libs-5.1.71-1.el6.x86_64   //普通删除模式
    rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64    // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
    或者 yum remove mysql-libs-5.1.71-1.el6.x86_64 //yum卸载

    三、安装

    1. 下载包 

    cd /usr/local/src

    wget   http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz

              http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz


    2. 解压 

    tar  zxvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
    mv  mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql

    3. 初始化     // mysql_install_db 已经不再推荐使用了,建议改成 mysqld --initialize 完成实例初始化。

    使用下面的命令查看是否有mysql用户及用户组
    cat /etc/passwd 查看用户列表
    cat /etc/group 查看用户组列表
    如果没有就创建

    useradd -M -s /sbin/nologin  mysql            //-M 不建立使用者目录
    mkdir -p /data/mysql
    chown mysql /data/mysql
    cd /usr/local/mysql
    ./bin/mysqld  --initialize --user=mysql --datadir=/data/mysql   //旧方法:    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql 
    注意,这一步最后一行会有一个提示
    [Note] A temporary password is generated for root@localhost: B*s1i(*,kXwg
    最后面的字符串为root密码。
    ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql


    4. 拷贝配置文件和启动脚本
    注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

    cp support-files/my-default.cnf  /etc/my.cnf  
    vim /etc/my.cnf //编辑或者修改

    [mysqld]       // 在这里修改
    basedir = /usr/local/mysql
    datadir = /data/mysql
    port = 3306
    socket = /tmp/mysql.sock     //注意路径不能出错,否则启动出错 上次少了/


    cp support-files/mysql.server /etc/init.d/mysqld
    vi /etc/init.d/mysqld   //编辑或者修改
    basedir=/usr/local/mysql
    datadir=/data/mysql


    5. 启动服务
    /etc/init.d/mysqld start

    启动出错的话可以查看日志:less /data/mysql/localhost.localdomain.err

    加入开机启动
    chkconfig --add mysqld
    chkconfig mysqld on
    service mysqld start


    6. 设置root密码
    使用初始化密码登录
    /usr/local/mysql/bin/mysql -uroot -p'B*s1i(*,kXwg'  //进入后直接设置密码
    mysql>set password = password('mypass');   //注意分号一定要设置一下新密码
    退出来,再使用新的密码登录就可以了

    还有一种情况,就是不知道初始化密码
    vi /etc/my.cnf
    在[mysqld]下面增加一行
    skip-grant-tables
    重启  /etc/init.d/mysqld restart

    /usr/local/mysql/bin/mysql -uroot 
    mysql> update user set authentication_string=password('123333') where user='root';
    退出来后,更改my.cnf,去掉刚加的 skip-grant-tables
    重启 /etc/init.d/mysqld restart

    此时就可以使用新的密码了。

    ---------------------------------------------以下为MYSQL源码编译安装方式-------------------------------------
    from:  http://www.cnblogs.com/xiongpq/p/3384681.html

    http://blog.chinaunix.net/uid-25266990-id-3239588.html  (备)

    二:安装MySQL

    安装编译代码需要的包

    yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

    下载MySQL 5.6.14

    wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
    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

    编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

    整个过程需要30分钟左右……漫长的等待

    三:配置MySQL

    设置权限

    使用下面的命令查看是否有mysql用户及用户组

    cat /etc/passwd 查看用户列表
    cat /etc/group  查看用户组列表

    如果没有就创建

    groupadd mysql
    useradd -g mysql mysql

    修改/usr/local/mysql权限

    chown -R mysql:mysql /usr/local/mysql

    修改/usr/local/mysql权限

    初始化配置

    进入安装路径

    cd /usr/local/mysql

    进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

    scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

    注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

    在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

    启动MySQL

    添加服务,拷贝服务脚本到init.d目录,并设置开机启动

    cp support-files/mysql.server /etc/init.d/mysql
    chkconfig mysql on
    service mysql start  --启动MySQL

    配置用户

    MySQL启动成功后,root默认没有密码,我们需要设置root密码。

    设置之前,我们需要先设置PATH,要不不能直接调用mysql

    修改/etc/profile文件,在文件末尾添加

    PATH=/usr/local/mysql/bin:$PATH
    export PATH

    关闭文件,运行下面的命令,让配置立即生效

    source /etc/profile

    现在,我们可以在终端内直接输入mysql进入,mysql的环境了

    执行下面的命令修改root密码

    mysql -uroot  
    mysql> SET PASSWORD = PASSWORD('123456');

    若要设置root用户可以远程访问,执行

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

    红色的password为远程访问时,root用户的密码,可以和本地不同。

    配置防火墙

    防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

    打开/etc/sysconfig/iptables

    在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

    -A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

    然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

    service iptables restart
     
    OK,一切配置完毕,你可以访问你的MySQL了~

    ------------------------------------------------------------------------------------------------------------------

    2014年12月02日添加:

    CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。

    Firewalld中添加端口方法如下:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    firewall-cmd --reload

     

     
    ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/carbon3/p/5641050.html
Copyright © 2011-2022 走看看