记一次CentOS 7安装MySQL 8.0

下载MySQL

首先,前往mysql.com下载MySQL8.0安装包。
也可以使用wget命令进行下载
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar

解压

  1. 创建一个文件夹
    mkdir mysql

  2. 使用tar命令进行解压
    tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar -C mysql

  3. 将mysql文件夹移动至/usr/local/mysql
    mv mysql /usr/local/mysql

安装

  1. 进入/usr/local/mysql文件夹
    cd /usr/local/mysql

  2. CentOS默认内置了mariadb,与MySQL数据库存在冲突,所以需先卸载mariadb。
    rpm -qa | grep mariadb
    rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64

或者直接执行 rpm -qa | grep mariadb | xargs rpm -e --nodeps 一步卸载mariadb

  1. 安装mysql-community-common-8.0.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm --nodeps --force

  2. 安装mysql-community-libs-8.0.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm --nodeps --force

  3. 安装mysql-community-client-8.0.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm

  4. 安装mysql-community-server-8.0.21-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm
    如果报错,安装libaio后再次安装mysql-server
    yum -y install libaio
    然后再次执行6

配置

systemctl start mysqld.service
systemctl enable mysqld.service

查看mysql的初始密码
grep 'password' /var/log/mysqld.log

使用默认密码进行登录
mysql -u root -p

[root@localhost mysql]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.21

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.

修改root用户的密码,首次登录后必须修改密码才能进行其他操作。
mysql> alter user 'root'@'localhost' identified by 'Wn1234!#';

切换至mysql数据库
mysql> use mysql;

查看当前允许登录的host,可以看到root用户只能在localhost登录

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

设置允许远程登录,%表示任意host都可登录
mysql> update user set host='%' where user='root';

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | root             |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
+-----------+------------------+
4 rows in set (0.00 sec)
posted @ 2021-01-02 00:25  SquareX  阅读(53)  评论(0)    收藏  举报