zoukankan      html  css  js  c++  java
  • Linux环境下安装单实例MySQL 5.7

    一、安装环境

    1、操作系统版本:CentOS 7.5

    2、MySQL版本:5.7.22(社区版)

    3、MySQL安装包:mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

    二、安装步骤

    1、检查系统中是否安装了其他版本的MySQL(root用户)

    首先检查系统中是否安装了其他版本的MySQL,使用以下命令进行检查:

    yum list installed | grep mysql
    yum list installed | grep mariadb

    MariaDB数据库是MySQL数据库的一个分支,一般CentOS 7系统中会默认安装该数据库,将其删除:

    yum remove mariadb-libs.x86_64

    并且删除/etc/目录下的my.cnf文件:

    rm –r /etc/my.cnf

    2、安装依赖包(root用户)

    在Linux环境下安装MySQL需要先安装libaio依赖包,如果没有安装该依赖包会导致数据目录初始化和服务启动失败。

    先检查系统中是否已经安装了libaio依赖包:

    yum list installed | grep libaio

    如果没有安装该依赖包,则进行安装:

    yum install libaio

    对于MySQL 5.7.19及以上版本还需要安装libnuma依赖包,使用以下命令检查系统中是否已经安装该依赖包:

    yum list installed | grep numactl

    如没有安装,可使用以下命令进行安装:

    yum install numactl

    3、创建mysql用户组和mysql用户(root用户)

    初始化MySQL以及启动MySQL服务时需要指定用户,此处使用mysql用户(也可使用其他用户和组)。

    先创建mysql用户组:

    groupadd mysql

    再创建mysql用户,并指定该用户的所属组为mysql用户组:

    useradd -g mysql mysql

    最后为mysql用户设置登录密码:

    passwd mysql

    4、解压缩MySQL安装包(mysql用户)

    将MySQL安装包拷贝至安装目录下(这里为/app):

    cp mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz /app/

    解压缩:

    tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

    备注:

    以上两个步骤执行成功的前提是MySQL安装包的属主为mysql用户,并且mysql用户对/app/目录有操作权限。

    可使用以下命令将MySQL安装的属主设置为mysql用户(root用户操作):

    chown mysql:mysql mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

    使用以下命令对/app/目录单独为mysql用户赋予操作权限(root用户操作):

    setfacl -m u:mysql:rwx /app/

    5、重命名(mysql用户)

    将解压后的目录重命名为mysql:

    mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql

    6、创建数据目录(mysql用户)

    MySQL 5.7版本没有自带data目录,需要自行创建,进入mysql目录下创建data目录:

    mkdir data

    7、创建my.cnf配置文件(mysql用户)

    MySQL从5.7.18版本开始不再自带my.cnf,可自行创建该配置文件。在mysql目录下创建my.cnf文件:

    touch my.cnf

    编辑my.cnf文件:

    vi my.cnf

    在该文件中输入以下内容:

    [mysqld]
    basedir=/app/mysql/
    datadir=/app/mysql/data/
    port=3307
    user=mysql
    character-set-server=utf8
    collation-server=utf8_general_ci

    其中,basedir表示MySQL根目录;datadir表示数据存放目录;port为端口号,MySQL默认的端口号为3306,为了安全起见,一般不使用默认端口号;user指定启动MySQL服务的用户;character-set-server表示使用的字符集;collation-server表示该字符集使用的排序规则。

    备注:

    MySQL初始化时默认的根目录为/usr/local/mysql/,所以如果不在初始化时指定根目录和数据目录,则需要将/app/mysql/链接到/usr/local/mysql/下。进入/usr/local/目录下:

    cd /usr/local/

    创建软链接映射到/app/mysql/目录:

    ln –s /app/mysql/ mysql

    这里不采用这种方式,而是采用配置文件方式指定MySQL根目录和数据目录。

    8、初始化MySQL(mysql用户)

    进入到bin目录下:

    cd /app/mysql/bin/

    初始化MySQL:

    ./mysqld --defaults-file=/app/mysql/my.cnf –initialize

    此时,MySQL会随机生成一个root用户的密码,需要将该密码记住:

    9、生成ssl连接密钥文件(mysql用户)

    使用以下命令生成加密连接的密钥文件:

    ./mysql_ssl_rsa_setup --defaults-file=/app/mysql/my.cnf

    执行结果如下:

    10、启动MySQL服务(mysql用户)

    最后启动MySQL服务:

    ./mysqld_safe --defaults-file=/app/mysql/my.cnf &

    三、修改root用户密码

    登录MySQL,密码为上文中随机生成的密码:

    /app/mysql/bin/mysql -u root -p -P 3307

    修改root用户的登录密码,改为“root123”:

    set password for root@localhost = password('root123');
  • 相关阅读:
    sipp3.6对freeswitch进行压力测试
    随机四则运算
    大一暑假第八周周进度总结报告
    大一暑假第七周周进度总结报告
    学生信息管理系统java测试报告
    原码、反码、补码解读
    大一暑假第六周周进度总结报告
    01Java方法
    00java语法基础和课后实践
    验证码和判断回文(递归)
  • 原文地址:https://www.cnblogs.com/xiezh-it/p/9461846.html
Copyright © 2011-2022 走看看