RedHat 7.6 安装 Mysql 8.0.17

# 查看是否安装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;

 

posted @ 2019-08-22 20:06  Aliwall  阅读(5061)  评论(2编辑  收藏  举报