CentOS7.6安装MySQL8.0(图文详细篇)
目录
一、安装前准备
1、在官网下载MySQL安装包(注意下载的安装包类型)



2、查看是否安装mariadb
# rpm -qa | grep mariadb

3、卸载mariadb
# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

4、安装MySQL依赖包 libaio
# yum install libaio

5、创建MySQL安装目录和数据存放目录,并授权
# mkdir /usr/local/mysql
# mkdir /usr/local/mysql/mysqldb
# chmod -R 777 /usr/local/mysql
# chmod -R 777 /usr/local/mysql/mysqldb/

6、创建MySQL组:创建MySQL用户,并设置密码。
# useradd mysql
# passwd mysql

7、将mysql目录的权限授给mysql用户和mysql组
# chown -R mysql:mysql /usr/local/mysql

8、上传并解压安装包(上传可以通过ftp等工具)
# cd /usr/local/mysql
# tar -zxvf mysql-8.0.16-el7-x86_64.tar.gz

解压后如下图:

9、创建MySQL的安装初始化配置文件my.cnf
# vi /etc/my.cnf
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql-8.0.16-el7-x86_64
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

二、安装MySQL
10、安装MySQL
进入MySQL安装目录:
# cd /usr/local/mysql/mysql-8.0.16-el7-x86_64/bin/

安装MySQL,并记住随机密码:
# ./mysqld --initialize --console

11、启动MySQL服务
# cd ..
# cd support-files/
# ./mysql.server start

注意:如果启动有问题,请看文章最后的安装问题!
12、将MySQL加入系统进程中
# cp mysql.server /etc/init.d/mysqld
重启MySQL服务:
# service mysqld restart

13、修改登录密码
# cd ..
# cd bin/
# ./mysql -u root -p

修改密码:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'centos_data';

三、设置远程登录
14、设置允许远程登录
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;

详细设置请参考另一篇文章:https://blog.csdn.net/dbdd_cf/article/details/93734336
退出MySQL:
mysql> quit;
重启MySQL服务:
# service mysqld restart

至此MySQL安装完成!
四、安装问题解决
- 安装问题:
1、启动MySQL服务问题:
(1)启动MySQL服务时报 my_print_defaults:未找到命令错误。

解决方法:修改 /etc/my.cnf 中的 MySQL的安装目录,如图:


(2)启动MySQL服务时报 updating PID file 错误。

解决方法:在安装目录下重新授权,然后再启动MySQL!
# chmod -R 777 /usr/local/mysql/mysql-8.0.16-el7-x86_64
# chmod -R 777 /usr/local//mysql/mysqldb

2、任意目录登录MySQL问题:
原因:
这是由于系统默认会查找 /usr/bin 下的命令,如果这个目录下没有这个命令,就会报 未找到命令。

解决方法:创建一个软连接到 /usr/bin。
# ln -s /usr/local/mysql/mysql-8.0.16-el7-x86_64/bin/mysql /usr/bin

五、设置MySQL开机自启
1、先将MySQL加入系统进程(第10步已做)
# cp /usr/local/mysql/mysql-8.0.16-el7-x86_64/support-files/mysql.server /etc/init.d/mysqld
赋予可执行权限:# chmod +x /etc/init.d/mysqld
添加为服务:# chkconfig --add mysqld
查看服务列表:# chkconfig --list

注:3、4、5的状态为开或者on,则表示成功。如果是管或者off,则需要执行:# chkconfig --level 345 mysqld on
最后重启服务器:reboot
再次查看服务列表或者查看3306端口:

启动成功!
欢迎进群:747509472 交流学习,感谢指正!
CentOS7.6安装MySQL8.0(图文详细篇)的更多相关文章
- windwos10安装mysql8.0.20详细图文教程
windwos10安装mysql8.0.20详细图文教程 1.浏览器搜索mysql下载安装 地址:https://dev.mysql.com/downloads/mysql/ 2.登录或者不登录下载 ...
- CentOS7离线安装MySQL8.0
CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...
- Linux安装mysql8.0.29详细教程
我在上午卸载了陪伴我多年的mysql5.7,现在准备安装mysql8.0. 一.登录mysql官网下载mysql安装包(我的系统是Centos7) MySQL :: Download MySQL ...
- Win10安装mysql-8.0.11-winx64详细步骤
安装 mysql-8.0.11-winx64 https://blog.csdn.net/qq_20788055/article/details/80372577
- CentOS7安装MySQL8.0图文教程
1.下载 MySQL 所需要的安装包 网址:https://dev.mysql.com/downloads/mysql/ 2.Select Operating System: 选择 Red Hat , ...
- centos7下安装mysql8.0.12及设置权限
一.mysql版本介绍 mysql的官网为:https://www.mysql.com/ 在官网上可以看到多个版本,主要版本如下, 1.MySQL Community Server 社区版本,开源免费 ...
- Centos7下安装MySQL8.0.23-小白的开始
首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...
- centOs7.6安装 mysql-8.0.27
1.下载mysql 2.连接服务器 3.通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包 4.通过 rpm -e mariadb-libs-5.5.68-1.el ...
- centos7 二进制安装mysql-8.0.19
安装包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz 1.检 ...
随机推荐
- Zabbix添加SNMP自定义监控项OID出现“No Such Instance currently exists at this OID”
原因:zabbix 是用snmpget来获取指定的OID数据,snmpwalk是遍历某个OID下的数据. 所以一定要用snmpget来验证某个OID是否正确. snmptranslate 获取的OID ...
- JSON Web Token 是什么?
免费获得官方JWT手册并深入学习JWT吧! 简介 JSON Web Token(缩写JWT),是一套开放的标准(RFC 7519),它定义了一种紧凑且自URL安全的方式,以JSON对象的方式在各方之间 ...
- docker相关----解决tomcat容器启动成功,无法访问的问题
使用docker安装了tomcat镜像,默认为latest最新的(8.5.50版本),依据tomcat镜像创建容器并同时做了端口映射 命令为:docker run --name tomcat01 -d ...
- Spring 框架初学
一 . spring IOC, DI: 将原来有程序员建立类的对象工作交由spring来操作: 从外部来看: 将各个类以bean 的方式配在spring容器的配置文件中(application.x ...
- 2019年,我花了3个月时间备考PMP
经过几个月的准备,终于在2019年12月7日完成了PMP的考试,并于1月21日查到了成绩,喜获5A,意料之中.总结这次考试的具体情况:涉及题型虽然都没有超出大纲的范围,但是原题出现的概率似乎不高, ...
- ActiveMQ 快速入门教程系列 第二章 发布-订阅者模式实现
第二章我们会介绍怎样实现一个发布者对多个订阅者的消息传递 Topic和queue的最大区别在于topic是以广播的形式,通知所有在线监听的客户端有新的消息,没有监听的客户端将收不到消息:而queue则 ...
- LeetCode19 移除倒数第N个元素
链接 Remove Nth Node From End of List 难度 Medium 描述 Given a linked list, remove the n -th node from the ...
- Deep Learning for Chatbots(Introduction)
聊天机器人又被称为会话系统,已经成为一个热门话题,许多公司都在这上面的投入巨大,包括微软,Facebook,苹果(Siri),Google,微信,Slack.许多创业公司尝试通过多种方式来改变与消费者 ...
- HYSBZ_1854_并查集
http://www.lydsy.com/JudgeOnline/problem.php?id=1854 每次判断每组两个数的根,若不等,则小的遍历1,大的为根,若相等,则说明前面的小的都遍历过,根遍 ...
- CCF_201403-1_相反数
按绝对值排序,因为没相同的数,直接遍历比较一遍即可. #include<iostream> #include<cstdio> #include<algorithm> ...