CentOs7 安装 mysql 完整版

前言:

  该完整版的意思是:虚拟机是今早上新装的,Linux也是早上新装的,所以一切都是新的。

第一步:安装 gcc,gcc-c++

  • yum -y install gcc 
  • yum -y install gcc-c++ 

第二步:卸载mariadb,否则安装mysql会出现冲突

  • 执行命令rpm -qa | grep mariadb
  • 列出所有被安装的 mariadb 包
  • 执行命令 rpm -e --nodeps mariadb-libs-* (*表示列出 mariadb 的版本号) 如:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    [root@system src]# rpm -qa |  grep mariadb
    mariadb-libs-5.5.64-1.el7.x86_64
    [root@system src]# rpm -e --nodeps mariadb-libs-5.5.64-1.e17.x86_64

第三步:添加官方的yum 源

  • 进入 CentOS-Base.repo

    vi /etc/yum.repos.d/CentOS-Base.repo

  • 添加mysql的yum 源
    [mysql57-community]
    name=MySQL 5.7 Community Server
    baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

    将内容添加到底部就行了,其中 版本是可以改的 。访问:http://repo.mysql.com/yum/ 即可看见具体的版本号

    如:5.6、5.7、8.0 等。具体就看个人情况了。
  • 安装 mysql yum 源 

    yum install mysql-community-server

    [root@system src]# yum install mysql-community-server
    已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.cqu.edu.cn
     * extras: mirrors.cqu.edu.cn
     * updates: mirrors.cqu.edu.cn
    base                                                     | 3.6 kB     00:00     
    extras                                                   | 2.9 kB     00:00     
    mysql57-community                                        | 2.5 kB     00:00     
    updates                                                  | 2.9 kB     00:00     
    mysql57-community/x86_64/primary_db                        | 198 kB   00:13     
    正在解决依赖关系
    --> 正在检查事务
    ---> 软件包 mysql-community-server.x86_64.0.5.7.29-1.el7 将被 安装
    --> 正在处理依赖关系 mysql-community-common(x86-64) = 5.7.29-1.el7,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要
    --> 正在处理依赖关系 mysql-community-client(x86-64) >= 5.7.9,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要
    --> 正在处理依赖关系 perl(strict),它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要
    --> 正在处理依赖关系 perl(Getopt::Long),它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要
    --> 正在处理依赖关系 /usr/bin/perl,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要
    --> 正在检查事务
    ......

第四步:更改数据库密码

  • 修改 my.cnf 文件 ,无需密码登陆
    vi /etc/my.cnf
    在 [mysqld] 下面添加
    skip-grant-tables
  • 启动mysql :

    service mysqld restart

  • 直接进行访问 mysql -uroot - p [敲回车]
    [root@system log]# 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.29 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2020, 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;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
  • 切换到 mysql,更改密码
    mysql> use mysql;
    mysql> update user set authentication_string=password('密码') where user='root';
    Query OK, 1 row affected, 1 warning (0.00 sec)
    Rows matched: 1  Changed: 1  Warnings: 1

    标红的地方请注意:在mysql 5.7中 user 表中已经没有 password 字段了,采用 authentication_string 代替,所以这里要注意一下。

第五步:注释或删除 skip-grant-tables

  • vi /etc/my.cnf
    # For advice on how to change settings please see
    # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
    
    [mysqld]
    #skip-grant-tables
    ....

第六步:重启数据库并登陆

  • systemctl restart mysqld

  • [root@system log]# mysql -uroot -p

    Enter password: 这时就要输入密码了

第七步:开放端口

  • 向防火墙添加 mysql 端口:
    firewall-cmd --zone=public --add-port=6397/tcp --permanent
  • 刷新防火墙规则:
    firewall-cmd --reload
  • 查询防火墙开放端口列表:
    firewall-cmd --zone=public --list-port
[root@system ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@system ~]# firewall-cmd --reload
success
[root@system ~]#  firewall-cmd --zone=public --list-port
3306/tcp

 

第八步:更改mysql 配置 参考博客

  • 允许外网访问
    当我进行测试的是否 发现 telnet 不同 ,然后发现mysql 的只允许本地访问
  • select Host,User from user;

    mysql> select Host,User from user;  
    +-----------+---------------+
    | Host      | User          |
    +-----------+---------------+
    | localhost | mysql.session |
    | localhost | mysql.sys     |
    | localhost | root          |
    +-----------+---------------+
  • 修改 访问ip 全部都可以访问
    update user set host='%' where host='localhost';  
  • 刷新生效
    flush privileges; 

     

第八步:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.(遇到的可以看一下

  • 修改validate_password_policy参数的值
    mysql> set global validate_password_policy=0;
    Query OK, 0 rows affected (0.00 sec)
  • validate_password_length(密码长度)参数默认为8,我们修改为1
    mysql> set global validate_password_length=1;
    Query OK, 0 rows affected (0.00 sec)
  • 重置密码
    mysql> alter user 'root'@'localhost' identified by '密码';
    Query OK, 0 rows affected (0.00 sec)

     

第十步:测试外网访问

  • 打开一个数据库客户端
  • 输入相关信息进行测试
  • 我刚入手 mac 不太会用,总是是连上了。

到此,mysql 就安装好了。

 

posted @ 2020-03-14 15:08  不朽_张  阅读(250)  评论(0)    收藏  举报