zoukankan      html  css  js  c++  java
  • CentOS 7 安装 MySQL 5.7

    Linux 阿里云服务器 CentOS 7 安装 MySQL 5.7。

    一、准备工作

    1、MySQL 官网下载 MySQL 5.7.23 :mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz

    2、检查是否已经安装过 MySQL :

    $> rpm -qa | grep mysql

    如果已经安装过其他版本的 MySQL,使用以下命令卸载:$> rpm -e 已经存在的MySQL全名

    3、添加用户组,用专门管理mysql,提高安全 (非必须,可以跳过 )

    $> groupadd mysql
    $> useradd -r -g mysql -s /bin/false mysql

    4、安装libaio1 :
    libaio1 是 MySQL 的安装依赖 必须先安装(前提条件)

    $> yum install  libaio-devel.x86_64

    二、安装

    1、解压 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 并移到 /usr/local/mysql 文件夹下:

    $> tar -xvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local
    $> mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/mysql
    $> chown -R mysql:mysql mysql

    2、配置 MySQL 的服务,将 support-files 下的 mysql.server 复制到 /etc/init.d/ 下并取名mysql :

    $> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    3、修改/etc/init.d/mysql的参数:

    $> vi /etc/init.d/mysql
        #修改如下内容
        basedir=/usr/local/mysql
        datadir=/usr/local/mysql/data

    4、配置 MySQL 的配置文件,
    其他版本mysql的support-files目录下有默认的配置文件,
    5.7.23 这个版本没有,需要自己准备,下面提供一份简单基本配置,
    在/etc/ 下新建my.cnf ,有些可能会提示已经存在,因为默认装的数据库配置文件也在,直接覆盖就行:

    注意:在 my.cnf 文件所在目录,看是否有一个叫 my.cnf.d 的文件夹,
    如果没有需要新建一个,不然后面安装的时候会报错。

    $> touch /etc/my.cnf
    $> vi /etc/my.cnf
        #my.cnf内容如下
        # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
        # *** default location during install, and will be replaced if you
        # *** upgrade to a newer version of MySQL.
        [client]
        port = 3306
    
        #普通项目的编码方式可以设置成 utf8
        #这里设置成utf8mb4,是因为我的项目需要存储 emoji 表情,
        #这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符。
        #在MySQL 5.6 以上版本中,可以设置编码为utf8mb4,这个字符集是utf8的超集。
        default-character-set=utf8mb4
    
        [mysqld]
        # 一般配置选项
        basedir = /usr/local/mysql
        datadir = /usr/local/mysql/data
        port = 3306
        character-set-server=utf8mb4
        default_storage_engine = InnoDB
        sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
        socket=/var/lib/mysql/mysql.sock
    
        # 下面一行是忽略大小写的配置,不想忽略的话可以删除,或者把值改成 0;
        lower_case_table_names=1
    
        # Disabling symbolic-links is recommended to prevent assorted security risks
        symbolic-links=0
        # Settings user and group are ignored when systemd is used.
        # If you need to run mysqld under a different user or group,
        # customize your systemd unit file for mariadb according to the
    
        [mysqld_safe]
        log-error=/var/log/mysql/mariadb/mariadb.log
        pid-file=/var/run/mysql/mariadb/mariadb.pid
        # include all files from the config directory
        !includedir /etc/my.cnf.d

    5、创建相关目录文件:

    $> mkdir -p /var/log/mysql/mariadb
    $> touch /var/log/mysql/mariadb/mariadb.log
    $> chown -R mysql:mysql /var/log/mysql
    $> mkdir /var/run/mysql
    $> chown -R mysql:mysql /var/run/mysql
    $> mkdir /var/lib/mysql
    $> chown -R mysql:mysql /var/lib/mysql
    $> ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

    6、切换到mysql的bin目录执行下面命令初始化数据库:

    $> rm -rf /usr/local/mysql/data/* (没有/usr/local/mysql/data目录可以不执行)
    $> ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    7、执行完毕后会自动生成默认的初始密码在执行记录中,注意复制出来!

    8、启动mysql 服务,下方会提示启动成功字样

    $> service mysql start
        启动成功会显示:Starting MySQL  [ OK ! ] 

    9、配置一下mysql的环境变量

    $> cd /etc/profile.d
    $> touch mysql.sh
    $> vi mysql.sh
        #mysql.sh添加如下内容
        MYSQL_HOME=/usr/local/mysql
        PATH=$PATH:$MYSQL_HOME/bin
        export MYSQL_HOME PATH
    $> source /etc/profile

    三、登录

    1、登录

    $> mysql -uroot -p
        # 输入默认的初始密码

    2、修改密码

    mysql> set password=password('新密码');

    3、开启远程登录 
    3.1、设置mysql的远程登录:

    # grant all privileges on 库.表 to 用户@'%' identified by '用户密码';
    mysql> grant all privileges on *.* to root@'%' identified by 'root密码';
    mysql> flush privileges;

    3.2、设置防火墙:

    # 设置防火墙:
    $> firewall-cmd --zone=public --add-port=3306/tcp --permanent
    # 重新载入:
    $> firewall-cmd --reload
    # 查看:
    $> firewall-cmd --zone= public --query-port=3306/tcp 或 firewall-cmd --zone=public --list-ports

    4、设置开机自启(非必须,不影响使用):

    $> chkconfig --list
    $> chkconfig --add mysql
    $> chkconfig mysql on
    # 然后使用chkconfig --list命令再次查看自启服务列表,
    # 会看到mysql的2-5都显示开(有些显示的是 on);
    # 说明mysql服务会随机器启动而自动启动

    然后就可以导入 SQL 文件建表跑服务了。

    如果想要关闭 mysql 服务:

    $> service mysql stop
  • 相关阅读:
    IHttpActionResult – new way of creating responses in ASP.NET Web API 2
    Web Api 中返回JSON的正确做法
    MVC中使用RazorPDF创建PDF
    Mac上javaweb开发环境搭建介绍----git安装及使用
    Web开发环境的搭建(mysql、maven)
    父pom.xml的详解
    pom.xml中的常用依赖包总结
    Maven+Spring+SpringMVC+Mybatis中的常见错误
    jqGrid中关于工具条中的输入框中内容的读取
    jqGrid的Fomatter用于将图片url地址转换成前端图片显示的使用
  • 原文地址:https://www.cnblogs.com/40406-jun/p/9949472.html
Copyright © 2011-2022 走看看