MySQL8.0.18通用版本安装
环境说明:
系统版本:CentOS release 6.8 (Final)
MySQL版本:mysql-8.0.18
内存:63G
空间:8T
1 配置本地yum仓库
这个只需要拷贝一个镜像,然后挂载镜像到某个目录,最后将哪个目录配置为yum仓库的目录即可
2 下载安装包:wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
3 解压安装包:tar -zxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql8
4 创建用户,MySQL数据目录和授权
mkdir /data/mysql8
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql8
chown mysql:mysql /usr/local/mysql8/ -R
chown -R mysql:mysql /data/mysql8/
5 MySQL初始化
cd /usr/local/mysql8/
### 注意,生产环境中一般要设置忽略表名大小写。这个参数必须在初始化数据库时就要指定,否则在建库完成之后,在修改配置文件会报错
sudo bin/mysqld --initialize --lower-case-table-names=1 --user=mysql --basedir=/usr/local/mysql8 --datadir=/data/mysql8 # 注意初始化命令执行后会生成一个临时root密码
sudo bin/mysql_ssl_rsa_setup --datadir=/data/mysql8 #生成密钥对
6 将MySQL服务添加到系统服务中
sudo cp support-files/mysql.server /etc/init.d/mysqld -r
vim /etc/init.d/mysqld #修改配置文件中,指定数据目录和安装目录
datadir=/data/mysql8
basedir=/usr/local/mysql8
7 配置环境变量,使用命令
sudo vim /etc/profile #文件末尾追加以下内容
#set MySQL
export PATH=$PATH:/usr/local/mysql8/bin:/usr/local/mysql8/sbin
source /etc/profile
8 启动MySQL服务,先删除配置文件
sudo rm -rf /etc/my.cnf
如果在初始化时指定了忽略大小写,则必须先在/etc/my.cnf配置文件中加上忽略大小写的选项,MySQL才能启动成功。如果没有指定,则可以忽略这一步
echo "[mysqld]" >> /etc/my.cnf
echo "lower-case-table-names=1" >> /etc/my.cnf
echo "default_authentication_plugin=mysql_native_password" >> /etc/my.cnf
sudo /etc/init.d/mysqld start
#使用临时密码登陆数据库
mysql -uroot -p临时密码
登陆之后立即修改数据库的密码:
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY '新密码';
刷新权限表:
mysql>flush privileges;
9 使用新修改的root密码登录MySQL,并给新用户授权
https://www.cnblogs.com/xxsl/p/10791137.html
mysql -uroot -p新密码
mysql>user mysql;
mysql>create user testuser@'%' identified by 'testuser';
mysql>grant all privileges on *.* to 'testuser'@'%' with grant option;
mysql>flush privileges;
10 配置MySQL配置文件 /etc/my.cnf
先停止服务:
/etc/init.d/mysqld stop
在修改配置文件:
vim /etc/my.cnf
[mysqld]
datadir=/data/mysql8
basedir=/usr/local/mysql8
user=mysql
socket=/data/mysql8/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/mysql8/mysql.log
pid-file=/data/mysql8/mysql.pid
11 重启MySQL,使用root连接
报错显示找不到套接字文件,做一个软连接
ln -s /data/mysql8/mysql.sock /tmp/mysql.sock
再次登陆成功
mysql -uroot -p新密码
登陆,可以成功查看
12 设置MySQL服务为开机自启动
chkconfig mysqld on
chkconfig --list |grep mysqld
13 使用客户端navicat连接 总是报错1251;

之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,直接去连接Navicat会报错1251
解决办法:
在/etc/my.cnf中添加:default_authentication_plugin=mysql_native_password
然后在数据库中修改testuser的认证方式:
https://blog.csdn.net/u011182575/article/details/80821418
重启数据库:service mysqld restart
报错二:mysql8完成安装后,优化参数忽略表名大小写时报错如下
具体优化步骤如下:
1 关闭MySQL服务 /etc/init.d/mysqld stop
2 修改配置文件,添加忽略表明大写的参数
vim /etc/my.cnf
在[mysqld]下面配置如下参数
lower_case_table_names=1
3 重启MySQL服务器:/etc/init.d/mysqld start
报错如下:

4 具体解决办法:查阅官方文档后发现,如果要让忽略表名大小写的配置生效,则必须在数据库初始化时指定此参数。
如果数据比较重要,则可以先进行数据库全库备份。
然后在删除数据库
重新初始化数据库,执行忽略表名大小写的参数值为1
MySQL8.0.18通用版本安装的更多相关文章
- windows系统下mysql-8.0.13-winx64(zip安装)
一.下载地址: http://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-winx64.zip 二.安装: 1.解压: mysql根路 ...
- MySQL-8.0.18 引入了破坏性变更
MySQL-8.0.18 引入了破坏性变更 变更日志里面有这样一项 When the server is run with --initialize, there is no reason to lo ...
- Centos7 安装mysql-8.0.18(rpm)
1.前言 当前MySQL最新版本:8.0.18 (听说比5.7快2倍)官方之前表示:MySQL 8.0 正式版 8.0.18 已发布,MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量 ...
- MySQL8.0 zip压缩包版本 Windows下安装
MySQL zip压缩包版本 Windows下安装 Download MySQL Community Server 解压到相应的目录 我的解压目录:D:\Program Files\mysql-8.0 ...
- 阿里云服务器(windows server 2012 r2 64位)安装MYSQL8.0.18数据库 (小白必备)
今儿中午询问了朋友关于服务器的一些事情后,就开始安装了,从中午大概一点,整到晚上九点,终于装成功了,感觉安装过程能遇到的问题全遇到了,给后面的朋友一些参考意见把. 第一次碰云服务器,措辞不当或不正确之 ...
- Mac brew安装MySQL8.0.18后忘记密码(重置密码篇)
前要:MySQL8后密码要求很高,要有大小写字母和数字特殊字符,导致自己忘记以前配置的密码 一.跳过mysql的密码认证,修改配置文件my.cnf $ ls /usr/local/etc/my.cnf ...
- windows7下mysql8.0.18部署安装
一.前期准备(windows7+mysql-8.0.18-winx64) 1.下载地址:https://dev.mysql.com/downloads/ 2.选择直接下载不登录账号,下载的压缩包大概两 ...
- mysql8.0.11绿色版安装教程
解压到安装目录 在根目录建立data文件夹 建立my.ini文件 代码如下 # Other default tuning values # MySQL Server Instance Configur ...
- mysql8.0.13下载与安装图文教程
一.进入mysql网站:https://dev.mysql.com/downloads/mysql/ 二.进入Community选择MySQL Communtiy Server 三.将页面拉到最下面选 ...
随机推荐
- C++学习笔记-面向对象模型探究
C++中的class从面向对象理论出发,将变量(属性)和函数(方法)集中定义在一起,用于描述现实世界中的类.从计算机的角度,程序依然由数据段和代码段构成.那么C++编译器如何完成面向对象理论到计算机程 ...
- C++学习笔记-引用
引用是C语言中没有,而在C++中又很重要的一个概念,通过应用,可以得到变量本身,相对于得到变量的值而言,有更大的操作空间. 普通引用 变量的本质 变量名实质上是一段连续存储空间的别名,是一个标号 程序 ...
- Array of Doubled Pairs
Given an array of integers A with even length, return true if and only if it is possible to reorder ...
- Oracle中分析函数
1. row_number() over(PARTITION BY ...ORDER BY...)--在求第一名成绩的时候,不能用,因为如果有两个并列第一,只会返回一个 rank() over(PAR ...
- Tomcat解析XML和反射创建对象原理
Tomcat解析XML和反射创建对象原理 import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Me ...
- CF39H 【Multiplication Table】
这题可以枚举出每个i,j 位置的数>需要用到进制转换 int zh(int x){ long long sum=0,i=0; while(x){ sum=sum+((x%n)*pow(10,i) ...
- postman 获取登录成功后存在在header中cookies,并在下一个接口中使用。
1.首先登录成功 2.在tests中添加脚本 3.添加环境变量 4.配置环境变量和引用值 5.请求第二个接口成功
- ArrayList扩容分析
一段java代码 String e = "q3234v"; List<String> list = new ArrayList<String>(); for ...
- 导出excel-文件流
后台代码(控制器或者dao层) public void Excel(){ //第一步:(1)以虚拟表的形式获取导出数据 DataTable dt_0 = this.service.Excel(); / ...
- C# 枚举转集合
记录一下,方便自己下次使用. public class EnumHelper { /// <summary> /// 将枚举转为集合 /// </summary> /// &l ...