CentOS7手动安装MySQL 8

系统:CentOS 7.8(2003)版本最小化安装

MySQL:8.0.21

下载地址:https://dev.mysql.com/downloads/mysql/

注意,页面上没有CentOS的选项,选择RedHat 7相关的系统就行,他们之间的关系不可描述,囧。

先下载了RPM Server包,以为能够一直安装过

cd /usr/lcoal/src
wget https://..........mysql-community-server-8.0.21-1.el7.x86_64.rpm    #直接去页面上找地址
rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm

结果发现缺少依赖包,囧。

警告:mysql-community-server-8.0.21-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
        mysql-community-client(x86-64) >= 8.0.11 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
        mysql-community-common(x86-64) = 8.0.21-1.el7 被 mysql-community-server-8.0.21-1.el7.x86_64 需要
        net-tools 被 mysql-community-server-8.0.21-1.el7.x86_64 需要

于是干脆下了mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar包。

gwet https://......../ mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar  #自己去页面上找地址
tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
yum -y install net-tools mariadb-libs
rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm

顺序不能错,有依赖关系。

启动服务:

systemctl start mysqld.service
systemctl enable mysqld.service

查看MySQL初始密码,每次安装都会不一样,注意使用自己机器上的:

grep 'password' /var/log/mysqld.log
2020-07-16T03:01:40.135985Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: _hN6j8t_pWaO

用初始密码进入MySQL

mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 9
Server version: 8.0.21 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> 

成功进入,修改密码:

mysql>  alter user 'root'@'%' idenfified by 'wenfei@fly';   #报错,初始root用户在localhost下面,没有root@%用户。
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'idenfified by 'wenfei@fly'' at line 1

mysql>  alter user 'root'@'localhost' identified by 'WenFei@123';   #先修改一次root@localhost用户,默认在本机登录
Query OK, 0 rows affected (0.01 sec)

user mysql;
create user 'root'@'%' identified by 'WenFei@123';    #创建root@%用户,方便其它IP登录访问数据库
#update user set host ='%' where user=‘root'; #也可以直接替换root@localhost为root@%用户

MySQL 8.0版本开始,密码默认使用的插件是caching_sha2_password,规则是大写、小写、字符、数字、至少8位,这些条件必须满足。如果要使用以前的mysql_native_password

ALTER USER `root`@`%` IDENTIFIED WITH mysql_native_password BY '123';

给root@%用户授权最大权限

grant all on *.* to root@'%'; 

好了,这时候可以用Navicat之类的工具连接了,如果不能连接请检查防火墙设置。

原文地址:https://www.cnblogs.com/cash/p/13344039.html