转载

RedHat7 安装Mysql8 教程

查看是否安装mysql

rpm -qa | grep -i mysql

如果有,需要卸载旧版本Mysql及相关依赖包

rpm -e MySQL-client-*

查看开机启动服务列表状态

systemctl list-unit-files

禁用mysql服务

systemctl disable mysqld

查找mysql文件夹 find / -name mysql

whereis mysql

删除 对应的目录下所有文件 注意不要把有用的删了

rm -rf /use/lib/mysql

卸载系统预置的mariadb,才能安装mysql。因为centos 和 redhat 内部集成了mariadb, 如果不卸载mariadb,安装mysql时会和mariadb文件冲突.

查询是否已安装的mariadb

rpm -qa|grep mariadb

卸载mariadb,文件名为上述命令查询出来的文件

rpm -e --nodeps 文件名

重启系统

reboot

创建下载目录

mkdir /usr/local/mysql8
cd /usr/local/mysql8
Mysql官方地址:

https://dev.mysql.com/downloads/mysql/

下载安装包

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

解压

tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar

按照以下顺序安装

-i 安装 -v 列出更多详细信息 -h 安装时列出hash标记

rpm -ivh mysql-community-common-8.0.17-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-8.0.17-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-8.0.17-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-8.0.17-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-8.0.17-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-8.0.17-1.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

错误:依赖检测失败:perl(JSON) 被 mysql-community-test-8.0.17-1.el7.x86_64 需要

因为缺少perl-JSON依赖包.

#查找perl-JSON相关包名称
yum list perl-JSON 或 yum list |grep "perl-JSON"

安装perl-JSON

yum install -y perl-JSON-2.59-2.el7.noarch

#重新安装
rpm -ivh mysql-community-test-8.0.17-1.el7.x86_64.rpm

mysql安装完成.

查看mysql服务运行状态

systemctl status mysqld

启动mysqld服务

systemctl start mysqld

查看临时密码

grep -i password /var/log/mysqld.log

使用临时密码登录

mysql -u root -p'密码'

修改root用户默认密码 我执行 以下语句一直是等待输入的状态, 不太熟悉mysql, 查了一个多小时没查到什么问题, 问了下群里告诉我说 少了 ; , 输入; 就可以了.

缺少 ; 语句后不加; 不会返回执行结果, 显示等待输入, 一定要加; 表示语句结束. 显示等待输入, 此时输入; 回车就可以了.

alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1'

正确的语句

alter USER 'root'@'localhost' IDENTIFIED BY 'DEFg@ABC1';
修改root用户远程登录

#切换数据库
use mysql;

查看用户是否允许远程登录 localhost 仅本地 % 可以远程登录

select host,user, authentication_string, plugin from user;

修改root用户可远程登录.

update user set host = "%" where user='root';

使用远程工具连接mysql8.0, 账户密码都正确但是报错. 查了下具体是因为:之前版本MySQL的密码认证插件为“mysql_native_password”,新版本改为:“caching_sha2_password”.

#修改为旧的密码认证方式.
use mysql;

alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'DEFg@ABC1';

flush privileges;
修改完就可以使用远程管理工具连接mysql8.0.17了.

一个重要的命令:

#退出mysql
quit

重要的目录:

datadir=/var/lib/mysql
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

复制代码

查看运行进程

ps -ef | grep mysqld

查看端口

netstat -tulpn |grep mysqld

服务操作:

启动服务

systemctl start mysqld

重启服务

systemctl restart mysqld

加入开机启动

systemctl enable mysqld;

停止运行服务

systemctl stop mysqld ;

加入开机禁用

systemctl disable mysqld;

查看状态

systemctl status mysqld;

查看httpd的开机启动状态列表

systemctl list-unit-files;

正文到此结束
该篇文章的评论功能已被站长关闭
本文目录