zoukankan      html  css  js  c++  java
  • CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器

    简介:实战演练mysql数据库服务器的搭建 

    mysql简介: 

    mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的一款产品,由C和C++语言编写,可移植性高。 支持在多种操作系统上安装,最常见有AIX,linux,window。mysql因为开源免费,所以受到了目前互联网行业的欢迎。

    以mysql作为数据库,linux系统作为操作系统,apache或者nginx作为web服务器,perl/php/python作为服务端的脚本解释器,就可以搭建起一个免费的网站。被业界称为LNMP或者LAMP。 

    准备工作: 

    强烈建议:

    磁盘空间剩余量达到15GB

    内存2G以上

    步骤一致

    确保依赖组件安装完毕

    安装mysql5.7.17

    centos 7

    关闭selinux,关闭防火墙:

    systemctl stop firewalld.service

    vi   /etc/selinux/config

    SELINUX=disabled

    安装cmake工具:

     yum -y install cmake

    下载boost路径(mysql5.7.17的必需依赖组件):

    下载:http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

    tar -xf boost_1_59_0.tar.gz

    yum安装其它依赖组件:

    yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses

    ncurses-devel openssl openssl-devel

    备注:若有个别组件安装失败或需要更新,则单独安装。

     

    创建路径:

    mkdir -p   /usr/local/mysql

    mkdir -p   /data/mydata

     

    创建mysql用户:

    useradd -M -s   /sbin/nologin   mysql

     

     

    使用cmake工具对mysql5.7.17进行环境收集检验与配置相关模块:

    下载地址:https://dev.mysql.com/downloads/mysql/5.7.html

    解压mysql源码包,并进入解压后的路径

    tar -xf mysql-5.7.17.tar.gz

    cd mysql-5.7.17

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -

    DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -

    DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock

    -DWITH_SSL=system -DWITH_ZLIB=system -DDEFAULT_CHARSET=utf8 -

    DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost_1_59_0

    -DENABLE_DOWNLOADS=1

     备注: boost_1_59_0 与mysql-5.7.17 放在同一路径;复制后注意各个参数间是否有空格。

    参数详细信息解释:

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定mysql数据库安装目录

    -DMYSQL_DATADIR=/data/mydata #指定数据库文件路径

    -DSYSCONFDIR=/etc #指定配置文件目录

    -DWITH_INNOBASE_STORAGE_ENGINE=1 #安装INNOBASE存储引擎

    -DWITH_ARCHIVE_STORAGE_ENGINE=1 #安装ARCHIVE存储引擎

    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 #安装BLACKHOLE存储引擎

    -DWITH_READLINE=1 #使用readline功能

    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock #连接文件位置

    -DWITH_SSL=system #表示使用系统上的自带的SSL库

    -DWITH_ZLIB=system #表示使用系统上的自带的ZLIB库

    -DDEFAULT_CHARSET=utf8 #指定默认使用的字符集编码

    -DDEFAULT_COLLATION=utf8_general_ci #指定默认使用的字符集校对规则

    -DDOWNLOAD_BOOST=1

    -DWITH_BOOST=../boost_1_59_0 #指定Boost库的位置,mysql5.7必须添加该参数

    -DENABLE_DOWNLOADS=1 #支持下载可选文件

    编译并安装:

    make -j 4 && make install 

    初始化mysql:

    /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mydata --socket=/tmp/mysql.sock

    备注:记下临时密码。

    对mysql的相关路径进行更改权限:

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

     

    修改配置文件:

    vi   /etc/my.cnf

    [mysqld]

    datadir=/data/mydata

    socket=/tmp/mysql.sock

    symbolic-links=0

    [mysqld_safe]

    log-error=/usr/local/mysql/log/mysql.errlog

    pid-file=/data/mydata/$hostname.pid

    启停mysql:

    [root@localhost support-files]# ./mysql.server start

    Starting MySQL.2019-08-03T14:19:37.028727Z mysqld_safe error: log-error set to

    '/usr/local/mysql/log/mysql.errlog', however file don't exists. Create writable for

    user 'mysql'.

    ERROR! The server quit without updating PID file

    (/data/mydata/localhost.localdomain.pid).

    解决:

    mkdir -p  /usr/local/mysql/log/

    touch /usr/local/mysql/log/mysql.errlog

    chown -R mysql:mysql /usr/local/mysql/log/mysql.errlog

    启动:

    /usr/local/mysql/support-files/mysql.server start

    关闭:

    /usr/local/mysql/support-files/mysql.server stop

    登录mysql:

    /usr/local/mysql/bin/mysql -uroot -p临时密码

     

    修改mysql密码: 

    set password for 'root'@'localhost'=password('密码');

    mysql> flush privileges;

    ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist

    备注:不报错,无需创建。

    use mysql;

    drop table if exists mysql.servers;

    CREATE TABLE `servers` (

    `Server_name` char(64) NOT NULL,

    `Host` char(64) NOT NULL,`Db` char(64) NOT NULL,

    `Username` char(64) NOT NULL,

    `Password` char(64) NOT NULL,

    `Port` int(4) DEFAULT NULL,

    `Socket` char(64) DEFAULT NULL,

    `Wrapper` char(64) NOT NULL,

    `Owner` char(64) NOT NULL,

    PRIMARY KEY (`Server_name`)

    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table'; 

    添加MySQL服务并设置mysql开机启动:

    cp -a /usr/local/mysql/support-files/mysql.server   /etc/rc.d/init.d/mysql

    chkconfig --add mysql

    chkconfig --list mysql

    mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息

    等级0表示:表示关机

    等级1表示:单用户模式

    等级2表示:无网络连接的多用户命令行模式

    等级3表示:有网络连接的多用户命令行模式

    等级4表示:不可用

    等级5表示:带图形界面的多用户模式

    等级6表示:重新启动

    使用mysql服务的方式操作启停mysql服务:

    service mysql start #启动mysql服务器

    service mysql stop #关闭mysql服务器

    service mysql restart #重启mysql服务器

    设置mysql环境变量:

     ln -s /usr/local/mysql/bin/*    /usr/sbin/

    成功使用 mysql -uroot -p 登录服务器

  • 相关阅读:
    SER SERVER存储过程
    SQL SERVER连接、合并查询
    delete drop truncate 区别
    将一个表中的数据插入到另外的新表中
    strtol函数 将字符串转换为相应进制的整数
    malloc函数及用法
    求亲密数
    牛顿迭代法求开根号。 a^1/2_______Xn+1=1/2*(Xn+a/Xn)
    C语言中用于计算数组长度的函数 “strlen() ”。
    如何给sublime text3安装汉化包?so easy 哦
  • 原文地址:https://www.cnblogs.com/yxy0930/p/14085957.html
Copyright © 2011-2022 走看看