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 登录服务器

  • 相关阅读:
    day7 面向对象 静态方法 类方法 属性方法 类的特殊成员方法 元类 反射 异常处理
    day6 面向对象 封装 继承 多态 类与实例在内存中的关系 经典类和新式类
    day5 time datetime random os sys shutil json pickle shelve xml configparser hashlib subprocess logging re正则 python计算器
    kafka常用操作命令
    linux基础
    django学习1——初识web应用程序
    mysql数据库(三)——pymysql模块
    mysql数据库(二)——表的查询
    mysql数据库(一)
    Python常用模块——re模块
  • 原文地址:https://www.cnblogs.com/yxy0930/p/14085957.html
Copyright © 2011-2022 走看看