Centos7中MySQL8.0安装过程及遇到的问题记录
本文主要参考以下2篇文章,安装操作
https://www.miboxapp.com/article/detail/1146659339214393344
https://blog.csdn.net/weixin_42266606/article/details/80879571
1、下载MySQL安装包:下载地址:https://dev.mysql.com/downloads/mysql/
Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
2、选择 RPM Bundle 点击 Download,下载时需要登录Oracle账号
3、下载好后的安装包
4、登录linux服务器,具体过程就不写了,我用的是Xshell.
5、通过 rpm -qa | grep mariadb 命令查看 mariadb 的安装包(centos7默认安装了mariadb,需要卸载掉)
6、通过 rpm -e mariadb-libs-5.5.65-2.el7.x86_64 --nodeps 命令装卸 mariadb
7、通过 rpm -qa | grep mariadb 命令再次查看 mariadb 的安装包
8、通过 cd /usr/local/ 命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的
(截图非本机,自己操作时忘截图了)
9、通过 ll 命令查看一下当前目录下的目录结构
(截图非本机)
10、通过 mkdir mysql 命令 在当前目录下创建一个名为 mysql 的目录
(截图非本机)
11、通过 ll 命令查看一下当前目录下的目录结构,刚创建的 mysql 目录有了
(截图非本机)
12、通过 cd mysql 命令进入 mysql 目录
(截图非本机)
13、通过FTP工具将MySQL的安装包上传到该目录(图中使用的是WinSCP)
14、在Xshell中通过 ll 命令查看一下当前目录下的目录结构
(截图非本机)
15、通过 tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar 命令解压 tar 包
(截图非本机,截图中的是mysql8.0.11)
16、通过 rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安装 common
(截图非本机)
17、如上按顺序安装以下安装包
通过 rpm -ivh mysql-community-libs-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安装 libs
通过 rpm -ivh mysql-community-client-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安装 client
通过 rpm -ivh mysql-community-server-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安装 server
18、通过 rpm -qa | grep mysql 命令查看 mysql 的安装包
19、通过以下命令,完成对 mysql 数据库的初始化和相关配置
(此处有个坑,下面第28步 mysql8.0设置不区分大小,必须在数据库初始化时操作)
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
——————
运行命令:mysqld --initialize; 报错
解决措施
安装libaio
运行命令:yum install -y libaio
安装后再初始化mysql就可以了
——————
20、通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
21、通过 mysql -uroot -p 敲回车键进入数据库登陆界面
(复制密码即可,另外密码输入后也不会显示)
(截图非本机)
22、通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ‘123456'; 命令来修改密码
(截图非本机)
23、通过 exit; 命令退出 MySQL,然后通过新密码再次登陆
24、创建用户
一般不会使用root登录,需创建一个新的用户来使用mysql数据库;
创建用户命令
create user 'test'@'%' identified with mysql_native_password by '123456';
命令中的test为用户名,123456为登录密码
(截图非本机)
25、授权远程登录
创建用户后需设置允许远程访问才可在外网链接MySQL数据库
需分别执行以下命令:
grant all privileges on *.* to 'test'@'%' with grant option;
flush privileges;
26、执行成功后需开启3306端口,MySQL默认端口为3306,开启端口命令,需先退出MySQL
exit
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
27、开启成功后,用MySQL数据库的客户端远程链接测试
28、设置数据库不区分大小写和字符集
执行如下命令
Vi /etc/my.cnf 进入配置文件
进入编辑模式后在最后加入
lower_case_table_names=1
default-character-set=utf8mb4
退出并保存(按ESC+:wq 保存退出),修改完成后需重启MySQL
Systemctl restart mysqld
我执行以上命令后报错,把配置文件最后2行注释后又可正常运行,问题还未解决
—报错问题跟踪—
关于字符集问题,status命令,看到mysql字符集已经是“utf8mb4”
查看mysql日志 vi /var/log/mysqld.log
提示“unknown variable 'default-character-set=utf8mb4'”
查询处理方法如下
①是在MySQL的配置/etc/my.cnf中将default-character-set=utf8mb4 修改为 character-set-server = utf8mb4,但是这需要重启MySQL服务,如果你的MySQL服务正在忙,那这样的代价会比较大。
②是用mysqlbinlog --no-defaults mysql-bin.000001 命令执行
考虑到已经查询到mysql的字符集是utf8mb4,所以我没去调整
关于大小写问题,查询发现mysql8.0需要在初始化时配置lower_case_table_names=1
否则会报错。
https://blog.csdn.net/qq_24432795/article/details/103135455
https://www.cnblogs.com/LoveShare/p/11666296.html
https://blog.csdn.net/weixin_42954381/article/details/100523640
我参照上述文档,删除mysql数据文件,重新设置
命令如下
service mysqld stop //停止mysql服务
rm -rf /var/lib/mysql //删除mysql文件夹所有数据
service mysql start //重启mysql服务
重启mysql时报错,
所以重新初始化一遍数据库存
命令如下
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
然后账号等相关设置重新操作一遍
mysql中通过查询命令“show variables like '%lower_case%'” 大小写设置
博客原文:https://www.jzlnice.com/article/detail/1297056055938912256
Centos7中MySQL8.0安装过程及遇到的问题记录的更多相关文章
- VMware workstation16 中Centos7下MySQL8.0安装过程+Navicat远程连接
1.MySQL yum源安装 2.安装后,首次登录mysql以及密码配置3.远程登录问题(Navicat15为例) 一.CentOS7+MySQL8.0,yum源安装1.安装mysql前应卸载原有my ...
- 远程连接centos7中mysql8.0
远程连接centos7中mysql8.0 1.使用Navicat for MySQL或者其它数据连接软件 2.先检查centos中防火墙是否关闭,如果关闭不需要设置,如果没有关闭防火墙,请打开3306 ...
- Centos7 中 Node.js安装简单方法
最近,我一直对学习Node.js比较感兴趣.下面是小编给大家带来的Centos7 中 Node.js安装简单方法,在此记录一下,方便自己也方便大家,一起看看吧! 安装node.js 登陆Centos ...
- Centos7配置ThinkPHP5.0完整过程(二)
接上篇<Centos7配置ThinkPHP5.0完整过程(一)>,开始配置PHP环境 安装php sudo yum install php -y 安装扩展程序 sudo yum insta ...
- VMware VCSA 6.0安装过程 (转)
VMware VCSA 6.0安装过程(专版) 一.环境准备 VMware vCenter Server Appliance(VCSA)6.0的部署和之前的版本不同,在5.5及之前的版本可以通过 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...
- Mysql8.0安装步骤
Mysql8.0安装步骤 2018年05月10日 14:39:05 93年的香槟 阅读数:19628 标签: mysql 更多 个人分类: 数据库 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- <亲测>CentOS7中使用yum安装Nginx的方法
CentOS7中使用yum安装Nginx的方法 最近无意间发现Nginx官方提供了Yum源.因此写个文章记录下. 1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了 ...
- centos7中使用yum安装tomcat以及它的启动、停止、重启
centos7中使用yum安装tomcat 介绍 Apache Tomcat是用于提供Java应用程序的Web服务器和servlet容器. Tomcat是Apache Software Foundat ...
随机推荐
- Java泛型中的类型参数和通配符类型
类型参数 泛型有三种实现方式,分别是泛型接口.泛型类.泛型方法,下面通过泛型方法来介绍什么是类型参数. 泛型方法声明方式:访问修饰符 <T,K,S...> 返回类型 方法名(方法参数){方 ...
- Python-变量-字符串
str 字符串如何表示字符串? 单行 单引号 '' 如果字符串中有单引号就需要双引号表示,反之亦然 双引号 " " 换行表示 \ one_str = "简洁胜于优雅&qu ...
- Lua table(表)
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...
- 【题解】Bzoj3916
字符串\(Hash\). 笔者实在太菜了,到现在还没有熟练掌握\(Hash\),就来这里写一篇学习笔记. \(Description\) 有三个好朋友喜欢在一起玩游戏,\(A\)君写下一个字符串\(S ...
- IPA的动态库注入+企业重签名过程
[摘录]之前在进行iOS测试过程中由于要获取一定数据信息,因此需要对原本的安装包进行代码注入并且重新打包安装,因此就需要使用重签名策略,在此进行分享,希望大家可以使用其中的方法来运用到自身的项目中. ...
- 多台centos7服务器实现SSH免密登陆
一.环境 centos7.x 三台 node1.node2.node3 二.实现免密登陆 2.1.node1上,生成公钥与私钥 [root@node1 ~]# ssh-keygen Generatin ...
- HTTPS证书知识扫盲
1. 前言 现在搞网站域名不加个HTTPS就显得不专业,特别在使用JWT进行认证的接口一定要加HTTPS为你的接口增加一层安全屏障.今天就来聊聊配置HTTPS的关键SSL证书,也被称为CA证书. 2. ...
- AMBuild
什么是AMBuild? AMBuild是构建软件项目和创建发布包的工具.它是针对C++项目的,当然也可以用于其它任何语言的项目,它主要针对解决大多数构建工具所解决不了的三个大问题: 1.准确性:不需要 ...
- C#实现迭代器
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示.C#中使用IEnumerator接口实现,Java中使用Iterator接口实现,其中原理都差 ...
- Linux如何在vim里搜索关键字
例如搜索 the写法:/the +回车 /+关键字 ,回车即可.此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置: ?+关键字,回车即可.此为从文档挡圈位置向上查找关键字,按n键向 ...