美文网首页
CentOS 7编译安装MySQL 5.6

CentOS 7编译安装MySQL 5.6

作者: 网络小乙 | 来源:发表于2020-07-25 15:35 被阅读0次
  1. 下载mysql的安装包
    访问mysql网站或者直接打开下载链接选择需要的mysql版本下载,这里选择mysql 5.6.30,如图:

    也可以直接使用下面的命令下载:

    #下载mysql
    wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.30.tar.gz
    
  2. 编译安装mysql

    #查看系统发行版本号
    cat /etc/redhat-release
    CentOS Linux release 7.8.2003 (Core)
    
    # 安装依赖包
    yum install ncurses-devel libaio-devel -y
    yum install cmake gcc gcc-c++ make autoconf -y
    
    #关闭SELinux
    #临时关闭selinux
    setenforce 0
    #永久关闭selinux
    sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
    
    #关闭防火墙
    #查看防火墙状态
    systemctl status firewalld.service
    #临时关闭防火墙
    systemctl stop firewalld.service
    #永久关闭防火墙
    systemctl disable firewalld.service
    
    #创建mysql帐号
    groupadd -r mysql
    useradd -r -g mysql -s /sbin/nologin mysql
    
    # 编译安装mysql
    tar xf mysql-5.6.30.tar.gz 
    cd mysql-5.6.30/
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.30 \  #指定安装目录
    -DMYSQL_DATADIR=/usr/local/mysql-5.6.30/data \            #指定数据目录
    -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.30/mysql.sock \    #指定sock文件位置
    -DDEFAULT_CHARSET=utf8 \               #默认字符集
    -DDEFAULT_COLLATION=utf8_general_ci \  #默认编码
    -DWITH_EXTRA_CHARSETS=all \            #其它额外字符集
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \     #支持的存储引擎
    -DWITH_FEDERATED_STORAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
    -DWITH_SSL=bundled \                   #编译其它功能SSL、ZLIB等
    -DWITH_ZLIB=bundled \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_EMBEDDED_SERVER=1 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_DEBUG=0 -DSYSCONFDIR=/etc
    #编译并安装数据库
    make && make install
    
    #做软链接并给MySQL目录授权
    ln -s /usr/local/mysql-5.6.30/ /usr/local/mysql
    chown -R mysql.mysql /usr/local/mysql
    
  3. 初始化数据库

    #mysql 5.6初始化数据库的命令
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    #mysql 5.7初始化数据库的命令
    /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    
  4. 设置mysql启动服务脚本

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod 700 /etc/init.d/mysqld
    
  5. 设置mysql环境变量

    echo 'PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
    source /etc/profile
    
  6. 设置mysql配置文件

    #编辑mysql配置文件 /etc/my.cnf
    vim /etc/my.cnf
    
    #在my.cnf中写入如下内容
    [mysqld]
    server_id=1
    port=3306
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    socket=/usr/local/mysql/mysql.sock 
    log_bin=/usr/local/mysql/mysql-bin
    log_error=/var/log/mysql.log
    character-set-server=utf8
    [client]
    socket=/usr/local/mysql/mysql.sock
    
  7. 启动mysql服务

    #启动mysql服务
    /etc/init.d/mysqld start
    
    #关闭mysql服务
    /etc/init.d/mysqld stop
    
    #重启mysql服务
    /etc/init.d/mysqld restart
    
  8. 设置mysql服务密码

    mysqladmin -u root password 123456
    
  9. 开启mysql远程连接

    #登录mysql,操作mysql系统数据库
    mysql -u root -p
    
    #以下为sql命令
    use mysql;
    #查看用户表中信息
    select User,authentication_string,Host,Password from user; 
    #使用如下命令创建可以远程连接的账号和密码
    GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码';
    # "%"代表所有主机,也可以具体到你的主机IP地址
    
    #刷新权限(从mysql数据库的grant表中重新加载权限数据到cache中,一定要做)
    flush privileges;
    

相关文章

网友评论

      本文标题:CentOS 7编译安装MySQL 5.6

      本文链接:https://www.haomeiwen.com/subject/quoplktx.html