美文网首页
CentOS 7 安装 MySQL

CentOS 7 安装 MySQL

作者: BiaoWong | 来源:发表于2018-12-19 11:34 被阅读4次

    MySQL介绍

    MySQL https://www.mysql.com 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
    MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    MySQL特性

    • 使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
    • 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
    • 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
    • 支持多线程,充分利用 CPU 资源。
    • 优化的 SQL查询算法,有效地提高查询速度。
    • 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
    • 提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。
    • 提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
    • 提供用于管理、检查、优化数据库操作的管理工具。
    • 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
    • 支持多种存储引擎。
    • MySQL 是开源的,所以你不需要支付额外的费用。
    • MySQL 使用标准的 SQL数据语言形式。
    • MySQL 对 PHP 有很好的支持,PHP是目前最流行的 Web 开发语言。
    • MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。
    • 在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6 [4] 新增)
    • 复制全局事务标识,可支持自我修复式集群(5.6 [4] 新增)
    • 复制无崩溃从机,可提高可用性(5.6 [4] 新增)
    • 复制多线程从机,可提高性能(5.6 [4] 新增)
    • 倍更快的性能(5.7 [5] 新增)
    • 新的优化器(5.7 [5] 新增)
    • 原生JSON支持(5.7 [5] 新增)
    • 多源复制(5.7 [5] 新增)
    • GIS的空间扩展(5.7 [5] 新增)

    MySQL安装

    1. 安装必要的编译环境

    yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git  ncurses-devel
    

    2. 安装需要的组件

    CMake

    CMake https://cmake.org 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。具体安装流程为:

    cd /usr/local/src
    wget https://src.fedoraproject.org/lookaside/pkgs/cmake/cmake-3.8.0.tar.gz/sha512/a261088073ab41c41b461d155bead82b580225c8a4d32884715fba5eeb892acb2f73ae0484e823d7c33c9e29f331ec34ca223987f05e3ceb9a2f9b7defef17bf/cmake-3.8.0.tar.gz
    tar zxvf cmake-3.8.0-rc1.tar.gz
    cd cmake-3.8.0-rc1
    ./configure && make && make install
    

    boost

    Boost https://www.boost.org 库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中使用需要谨慎。Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。具体安装流程为:

    cd /usr/local/src
    wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    mkdir -p /usr/local/boost
    cp /usr/local/src/boost_1_59_0.tar.gz /usr/local/boost
    

    3. 安装MySQL

    在主要核心的组件安装完毕以后就可以安装MySQL了,最新版本的MySQL可从官网 https://www.mysql.com 获取。在编译安装前还需要做的一件事是添加一个专门的用户来执行MySQL。当然你也可以用root(不建议)。

    添加用户及用户组

    # 添加www组
    groupadd -r mysql
    # 创建www运行账户nginx并加入到www组,不允许www用户直接登录系统
    useradd -s /sbin/nologin -g mysql -r mysql
    

    配置MySQL运行目录

    mkdir -p /data/mysql #创建MySQL数据库存放目
    chown -R mysql:mysql /data/mysql #设置MySQL数据库目录权限
    mkdir /usr/local/mysql #创建MySQL安装目录
    

    编译安装MySQL

    cd /usr/local/src
    wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16.tar.gz
    tar zxvf mysql-5.7.16.tar.gz
    cd mysql-5.7.16
    
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_EMBEDDED_SERVER=OFF -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
    

    注意:可以使用-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost参数在线安装boost软件包,需要服务器联网,容易下载失败。

    make
    make install # 安装
    
    mv /etc/my.cnf /etc/my.cnf.bak # 备份系统默认的配置文件
    cd /usr/local/mysql # 进入MySQL安装目录
    
    ./bin/mysqld --user=mysql --initialize --basedir=/usr/local/mysql --datadir=/data/mysql # 生成mysql系统数据库
    

    --initialize表示默认生成密码, --initialize-insecure 表示不生成密码, 密码为空。
    看到这一行[Note] A temporary password is generated for root@localhost: CSJlm3DyTG.d
    复制CSJlm3DyTG.d密码

    待安装完以后开始配置MySQL

    cp /usr/local/mysql/support-files/my-default.cnf   /usr/local/mysql/my.cnf
    ln -s /usr/local/mysql/my.cnf /etc/my.cnf # 添加到/etc目录的软连接
    ln -s /usr/local/mysql/include/mysql /usr/include/mysql
    cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # 把MySQL加入系统启动
    chmod 755 /etc/init.d/mysqld # 增加执行权限
    chkconfig mysqld on # 加入开机启动
    
    vi /etc/rc.d/init.d/mysqld # 编辑
    basedir=/usr/local/mysql # MySQL程序安装路径
    datadir=/data/mysql # MySQl数据库存放目录
    :wq # 保存退出
    

    添加环境变量

    vi /etc/profile # 把mysql服务加入系统环境变量:在最后添加下面这一行
    export PATH=$PATH:/usr/local/mysql/bin
    :wq! # 保存退出
    source /etc/profile # 使配置立刻生效
    

    安全初始化数据库

    mysql_secure_installation # 修改Mysql密码,输入之前生成的密 CSJlm3DyTG.d 回车,根据提示操作。
    

    相关操作:进入MySQL控制台

    UNINSTALL PLUGIN validate_password ; # 卸载密码强度插件
    
    # 方法1: 用SET PASSWORD命令   
    # 格式:mysql> set password for 用户名@localhost = password('新密码'); 
    mysql> set password for root@localhost = password('123');
    
    # 方法2:用mysqladmin   
    # 格式:mysqladmin -u用户名 -p password 新密码
    mysqladmin -uroot -p password 123
    
    # 方法3:用UPDATE直接编辑user表
    use mysql;
    update user set password=password('123') where user='root' and host='localhost';
    flush privileges;
    

    相关文章

      网友评论

          本文标题:CentOS 7 安装 MySQL

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