zoukankan      html  css  js  c++  java
  • CentOS7 安装 MySQL5.7

    环境:

    • 操作系统: CentOS7.0
    • MySQL版本:mysql-5.7.23-1.el7.x86_64

    准备:

    下载rpm包: https://dev.mysql.com/downloads/mysql/5.7.html#downloads

     安装步骤

    <1>检查卸载mariadb-lib

    #检查
    [root@imok ~]# rpm -qa|grep mariadb
    mariadb-libs-5.5.35-3.el7.x86_64
    #卸载
    [root@imok ~]# rpm -e mariadb-libs-5.5.35-3.el7.x86_64 --nodeps

    <2>上传mysql安装包并解压

    [root@imok tar.gz]# tar -xvf mysql-5.7.23-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql/

    <3>安装相关依赖

     安装mysql-server需要以下安装包

    • mysql-community-common-5.7.23-1.el7.x86_64.rpm
    • mysql-community-libs-5.7.23-1.el7.x86_64.rpm
    • mysql-community-client-5.7.23-1.el7.x86_64.rpm
    • mysql-community-server-5.7.23-1.el7.x86_64.rpm 

    安装以上四个需要安装 libaio依赖 和 net-tools

    安装libbaio 

    [root@imok mysql]# yum -y install libaio

    安装net-tools

    [root@imok mysql]# yum install net-tools

    未安装net-tools报错提示:

    warning: mysql-community-common-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    error: Failed dependencies:
    net-tools is needed by mysql-community-server-5.7.23-1.el7.x86_64

    <4>安装mysql-server

    [root@imok mysql]# rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm mysql-community-libs-5.7.23-1.el7.x86_64.rpm mysql-community-client-5.7.23-1.el7.x86_64.rpm mysql-community-server-5.7.23-1.el7.x86_64.rpm
    warning: mysql-community-common-5.7.23-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
    Preparing... ################################# [100%]
    Updating / installing...
    1:mysql-community-common-5.7.23-1.e################################# [ 25%]
    2:mysql-community-libs-5.7.23-1.el7################################# [ 50%]
    3:mysql-community-client-5.7.23-1.e################################# [ 75%]
    4:mysql-community-server-5.7.23-1.e################################# [100%]

    <5>数据库初始化

    [root@imok mysql]# mysqld --initialize --user=mysql
    为了保证数据库目录为与文件的所有者为 mysql 登陆用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化
    mysqld --initialize --user=mysql

      如果是以 mysql 身份运行,则可以去掉 --user 选项。

      另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登陆后你需要设置一个新的密码,而使用 --initialize-insecure 命令则不使用安全模式,则不会为 root 用户生成一个密码。

      使用的 --initialize 初始化的,会生成一个 root 账户密码,密码在log文件里,红色区域的就是自动生成的密码

    [root@imok mysql]# cat /var/log/mysqld.log 
    2018-08-02T11:44:44.783409Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-08-02T11:44:45.120708Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2018-08-02T11:44:45.170790Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2018-08-02T11:44:45.241814Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 73aed9c6-9649-11e8-ae68-080027cf8d60.
    2018-08-02T11:44:45.243701Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2018-08-02T11:44:45.244381Z 1 [Note] A temporary password is generated for root@localhost: I,mwy,zgD5U1

    <6>启动mysql服务

    [root@imok mysql]# systemctl start mysqld.service

    <7>登录测试

    [root@imok mysql]# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.23
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

    提示需要修改密码。

     <8>修改密码

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    Query OK, 0 rows affected (0.00 sec)

     再次检查

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '!QAZ2wsx' WITH GRANT OPTION;
    Query OK, 0 rows affected, 1 warning (0.01 sec)

     说明安装成功!

    远程访问失败!!

    解决方案:

    (1)查看mysql远程访问策略是否关闭了,关闭则需要开启3306(默认)端口访问。参考 https://blog.csdn.net/qq_29944285/article/details/79369060

    (2)如果开启了访问策略还是不能访问,则需要确认远程访问用户是否有权限。具体参考:https://www.cnblogs.com/beanmoon/p/3173924.html

    参考:

      https://blog.csdn.net/qq_29944285/article/details/79369060

      https://www.cnblogs.com/beanmoon/p/3173924.html

  • 相关阅读:
    装饰器和表达生成式
    函数
    字符编码
    函数基础
    列表,字典与集合
    Linux Semaphore
    tp5安装easyWeChat
    wx.request
    小程序设计规范
    小程序的概念和特点
  • 原文地址:https://www.cnblogs.com/xiaojianfeng/p/9412869.html
Copyright © 2011-2022 走看看