Mysql8.0安装教程

分别在Linux和windows上安装mysql8.*

环境

  • CentOS7 安装mysql8 步骤
  • Window下的Navicat 连接MySql8

CentOS7安装mysql8

安装前清理Mysql和Mariadb

安装mysql

下面mysql官网提供的mysql repo源

centos的yum 源中默认是没有mysql的,所以我们需要先去官网下载mysql的repo源并安装
mysql官网下载链接:mysql repo下载地址 如下:
Mysql8.0安装教程_第1张图片
右键复制链接,通过wget下载

[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

Mysql8.0安装教程_第2张图片

安装 yum repo文件并更新 yum 缓存

[root@localhost ~]# rpm -ivh mysql80-community-release-el7-1.noarch.rpm

执行结果:

会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
在这里插入图片描述
更新 yum 命令

[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache

使用 yum 安装 mysql

当我们在使用yum安装mysql时,yum默认会从yum仓库中安装mysql最新的GA版本;如何选择自己的版本

查看mysql yum仓库中mysql版本,使用如下命令

[root@localhost ~]# yum repolist all | grep mysql

Mysql8.0安装教程_第3张图片
可以看到 MySQL 5.5 5.6 5.7为禁用状态 而MySQL 8.0为启用状态

使用 yum-config-manager 命令修改相应的版本为启用状态,其他版本为禁用状态,以mysql8为例

[root@localhost ~]# yum-config-manager --enable mysql80-community

可以编辑 mysql repo文件

[root@localhost ~]# vim /etc/yum.repos.d/mysql-community.repo

Mysql8.0安装教程_第4张图片
将相应版本下的enabled改成 1 ,其他版本改成 0 即可

安装mysql 命令如下

[root@localhost ~]# yum -y install mysql-community-server

Mysql8.0安装教程_第5张图片

设置mysql不区分大小写

修改配置文件:/etc/my.cnf

#添加如下配置:
#只有在安装完成之后,初始化数据库之前,修改my.cnf,然后再初始化数据库才有效
#如果你不在意数据的话直接删除数据
#1 停止MySQL
#2 删除 MySQL的数据  /var/lib/mysql
#3 修改该   lower_case_table_names = 1
#4 启动 mysql
lower_case_table_names = 1
[root@localhost ~]# vim /etc/my.cnf
lower_case_table_names = 1

Mysql8.0安装教程_第6张图片
开启mysql 服务

[root@localhost ~]# systemctl restart mysqld.service

获取初始密码登录mysql

  • mysql在安装后会创建一个root@locahost账户,并且把初始的密码放到了/var/log/mysqld.log文件中
[root@localhost ~]# grep password /var/log/mysqld.log
[root@localhost ~]# mysql -uroot -p

使用初始密码登录mysql ,四个密码最后一个是登陆密码
Mysql8.0安装教程_第7张图片
修改初始密码

mysql> set global validate_password_policy=0;		# 只验证长度
mysql> set global validate_password_length=6;		# 修改密码长度,默认值是 8 个字符
mysql> alter user user() identified by "123456";	# 修改登陆密码
mysql> show databases;

Mysql8.0安装教程_第8张图片

在防火墙中开启3306端口

CentOS7默认使用的是firewall作为防火墙,我这里改为习惯常用的iptables防火墙

  • 关闭firewall防火墙
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# systemctl disable firewalld.service 
[root@localhost ~]# systemctl mask firewalld.service 
  • 安装iptables防火墙
[root@localhost ~]# yum -y install iptables-services
  • 启动iptable防火墙
[root@localhost ~]# systemctl enable iptables.service 
[root@localhost ~]# systemctl start iptables.service
  • 编辑防火墙增加端口 防火墙文件位置为: /etc/sysconfig/iptables
[root@localhost ~]# vim /etc/sysconfig/iptable

在倒数第三行上增加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

Mysql8.0安装教程_第9张图片

  • 重启防火墙
[root@localhost ~]# systemctl start iptables.service
  • 将mysql 服务加入开机启动项,并启动mysql进程
systemctl start mysqld

Navicat 连接 Mysql8

开启mysql远程服务:

修改mysql数据库下的user表中host的值

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost"改称"%"登录mysql数据库 执行如下命令:

mysql> update user set host='%' where user='root';
mysql> select host, user, authentication_string, plugin from user;

Mysql8.0安装教程_第10张图片

使用授权的方式

赋予任何主机访问数据的权限

mysql> grant all privileges on *.* to 'root'@'%' with grant option;

在这里插入图片描述

Mysql密码策略问题 --> 解决办法:

  • 如果想myuser用户使用mypassword密码从任何主机连接到mysql服务器的话
mysql> grant all privileges on *.* to 'myuser'@'%'identified by 'mypassword' with grant option;
  • 如果想myuser用户使用mypassword密码从任何主机连接到mysql服务器的话
mysql> grant all privileges on *.* to 'myuser'@'192.168.199.153'identified by 'mypassword' with grant option;

在这里插入图片描述
在这里插入图片描述

在使用 Navicat for Mysql连接mysql 8.0时会报错:

windows安装mysql8

官网下载软件MySQL8

下载mysql8的地址
Mysql8.0安装教程_第11张图片
直接点击我红色记号笔圈出的超链接,这句话的中文意思是:不用了,直接开始下载

设置系统环境变量

编写配置文件

如解压位置为F:\mysql
就在此处手动创建my.ini文件

[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306 
#设置mysql的安装目录
basedir=F:\mysql\mysql-8.0.11-winx64
#设置mysql数据库的数据的存放目录
datadir=F:\mysql\mysql-8.0.11-winx64\data
#允许最大连接数
max_connections=200
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

Mysql8.0安装教程_第12张图片

数据库初始化

用管理员身份运行命令行,进入安装MySQL下的bin目录输入
Mysql8.0安装教程_第13张图片

mysqld --initialize-insecure

Mysql8.0安装教程_第14张图片
服务无法启动
服务没有报告任何错误

net nelpmsg 3534				# 以获得更多的帮助
mysqld --initialize --console	# 注意!执行输出结果里面有一段

Mysql8.0安装教程_第15张图片

安装并启动服务

在命令行下执行。
安装服务:

mysqld -install
net start mysql 

Mysql8.0安装教程_第16张图片
停止、卸载服务:

net stop mysql
mysqld -remove

进入MySQL

mysql -u root

Mysql8.0安装教程_第17张图片

windows10mysql密码忘了怎么办?

你可能感兴趣的:(Mysql)