0%

CentOS安装MySQL5.7

  • 准备安装包

    mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

    perl-JSON-2.90-1.of.el7.noarch.rpm

    perl-Data-Dumper-2.145-3.el7.x86_64.rpm

  • 解压MySQL安装包

    1
    # tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

    mysql-community-client-5.7.28-1.el7.x86_64.rpm
    mysql-community-common-5.7.28-1.el7.x86_64.rpm
    mysql-community-devel-5.7.28-1.el7.x86_64.rpm
    mysql-community-embedded-5.7.28-1.el7.x86_64.rpm
    mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm
    mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm
    mysql-community-libs-5.7.28-1.el7.x86_64.rpm
    mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
    mysql-community-server-5.7.28-1.el7.x86_64.rpm
    mysql-community-test-5.7.28-1.el7.x86_64.rpm

  • 安装mysql

    1
    # rpm -ivh mysql-community-*.rpm
  • 报错了

    错误:依赖检测失败:

    mariadb-libs 被 mysql-community-libs-5.7.28-1.el7.x86_64 取代
    mariadb-libs 被 mysql-community-libs-compat-5.7.28-1.el7.x86_64 取代
    perl(JSON) 被 mysql-community-test-5.7.28-1.el7.x86_64 需要
  • 卸载mariadb,安装perl

    1
    2
    3
    4
    # rpm -e mariadb-libs --nodeps
    # rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm
    # rpm -ivh perl-Test-Simple-1.302164-1.el7.noarch.rpm
    # rpm -ivh perl-JSON-2.90-1.of.el7.noarch.rpm
  • 继续安装MySQL

    1
    # rpm -ivh mysql-community-*.rpm

    准备中… ################################# [100%]
    正在升级/安装…
    1:mysql-community-common-5.7.28-1.e################################# [ 10%]
    2:mysql-community-libs-5.7.28-1.el7################################# [ 20%]
    3:mysql-community-client-5.7.28-1.e################################# [ 30%]
    4:mysql-community-server-5.7.28-1.e################################# [ 40%]
    5:mysql-community-devel-5.7.28-1.el################################# [ 50%]
    6:mysql-community-embedded-5.7.28-1################################# [ 60%]
    7:mysql-community-embedded-devel-5.################################# [ 70%]
    8:mysql-community-test-5.7.28-1.el7################################# [ 80%]
    9:mysql-community-libs-compat-5.7.2################################# [ 90%]
    10:mysql-community-embedded-compat-5################################# [100%]

  • 创建mysql数据文件夹

    1
    2
    # cd /data
    # mkdir mysql
  • 授予mysql用户和组

    1
    2
    # chown -R mysql:mysql mysql
    # chmod 755 mysql
  • 更改mysql配置文件,添加或修改如下内容:

    1
    # vim /etc/my.cnf

    #数据目录 为新创建的目录

    datadir=/data/mysql

    #不区分大小写、 utf8编码和其他设置

    character_set_server=utf8
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    lower_case_table_names = 1
    skip-name-resolve
    wait_timeout=31536000
    interactive_timeout=31536000

  • 启动mysql服务

    1
    # systemctl start mysqld.service
  • 查看mysql密码为:x0zqJrQih#yq

    1
    # grep 'temporary password' /var/log/mysqld.log

    2019-12-13T09:13:16.939321Z 1 [Note] A temporary password is generated for root@localhost: x0zqJrQih#yq

  • 登陆mysql并修改密码

    1
    # mysql -uroot -p
  • 修改密码,并查看mysql编码

    1
    2
    3
    mysql> ALTER USER USER() IDENTIFIED BY '你的密码';
    mysql> use mysql
    mysql> show variables '%char%';

    +————————————–+—————————-+
    | Variable_name | Value |
    +————————————–+—————————-+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | utf8 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | utf8 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    | validate_password_special_char_count | 1 |
    +————————————–+—————————-+

  • 设置root用户可远程访问

    1
    2
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
    mysql> flush privileges;
  • 开放mysql端口

    1
    2
    3
    # firewall-cmd --add-port=3306/tcp --zone=public --permanent
    # firewall-cmd --reload
    # firewall-cmd --list-ports

    3306/tcp

  • 安装完成!!!