Tianyi's Blog Tianyi's Blog
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)

Tianyi

一直向前,永不停止
首页
  • 计算机网络
  • 操作系统
  • 计算机科学
  • Nginx
  • Vue框架
  • 环境配置
  • Java
  • JVM
  • Spring框架
  • Redis
  • MySQL
  • RabbitMQ
  • Kafka
  • Mirror Sites
  • Dev Tools
  • Docker
  • Jenkins
  • Scripts
  • Windows
  • 科学上网
  • 旅行
  • 网站日记
  • 软件
  • 电子产品
  • 杂野
  • 分类
  • 友情链接
GitHub (opens new window)
  • Java

  • Golang

  • JVM的奇妙世界

  • Spring

  • Spring增强封装

  • Redis

  • MySQL

    • MySQL其实很简单-frank
    • mysql常用命令
    • mysql从根上学习
    • MySQL安装
      • Win64安装MySQL
        • 1.下载软件
        • 2.修改MySQL配置
        • 3.初始化MySQL(注册成服务)
      • 开启远程访问
        • 1.三句话解决
        • 2.检查效果
      • 忘记MySQL密码
      • [骚操作]同一台电脑,配置多个MySQL服务
        • 1.Bat脚本
        • 2.mysql配置文件(.ini)
    • 备份、导入MySQL数据库
  • RabbitMQ

  • Kafka

  • 分享

  • 后端
  • MySQL
tianyi
2023-09-25
目录

MySQL安装

# Win64安装MySQL

Windows的玩法比较少,没有像MAC一样给你提供mysqld-safe等等各种的启动脚本,只有手动启动或者是以服务启动Mysql。 点击下载:MySQL5.5-8.0.7z (opens new window) (密码是11)

# 1.下载软件

这一步下载好软件就可以了,下载地址:

  • MySQL :: Download MySQL Community Server (opens new window)
    • https://downloads.mysql.com/archives/community/ 记住一定要打开后面的Archives,里面的才有真正的压缩包下载(注意一下小版本,是8.0.34还是多少?两个不一样的话,整个bin文件夹里面的内容都是不一样的。)。
    • 选择正确的版本8.34

# 2.修改MySQL配置

  • 创建my.ini。是新建是新建!!!要自己新建。
  • 配环境变量,很简单,配一下bin目录,能找到可执行命令就行。

# 3.初始化MySQL(注册成服务)

开启管理员CMD窗口

(1)切换到mysql的bin目录;
(2)执行mysqld --initialize命令,此时会生成一个新目录data,查看.err文件,打开可以看到root用户生成的随机密码;

# (1)使用管理员窗口CD到bin目录。执行完initialize之后会有默认的密码。默认密码放在点error文件里面。
cd 指定目录
mysqld –initialize-insecure

# (2)注册成服务。类似sc create 命令 需要管理员权限!(mysqld --install [new-db],new-db是名称。)
mysqld --install
net start mysql

# (3)进入客户端,修改登录密码为root。
mysql -u root -p
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
1
2
3
4
5
6
7
8
9
10
11
命令 说明
mysqld -remove 移除自己的mysqld服务
net stop mysql 停止mysql服务
sc delete xxx 删除
  • 初始化命令
    • mysqld –initialize-insecure 自动生成无密码的root用户;
    • mysqld –initialize 自动生成带随机密码的root用户;

# 开启远程访问

当我们重新部署了一个MySQL服务后,发现在局域网内进行合作开发时却无法连接到指定数据库,这时候简单配置就可以解决连接问题:

# 1.三句话解决

USE mysql;
CREATE USER 'root'@'%' IDENTIFIED BY 'ROOT';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# 说明:
# 创建一个新的数据库用户。在这里,它创建了一个用户名为 "root" 的用户,允许从任何主机 '%' 连接,并且设置了密码为 'ROOT'。
# 授予了用户 'root'@'%' 对所有数据库和所有表的所有权限(管理员级别)
1
2
3
4
5
6
7
8

# 2.检查效果

# 最后到user表check一下
SELECT User, Host FROM user;

mysql> SELECT User, Host FROM user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
1
2
3
4
5
6
7
8
9
10
11
12
13
14

相关问题:https://stackoverflow.com/questions/50177216/how-to-grant-all-privileges-to-root-user-in-mysql-8-0

# 忘记MySQL密码

处理方法如下

  1. 窗口1:
    • 管理员打开cmd窗口输入命令:net stop mysql
    • 切到MySQL的bin目录
      • MySQL 8.0.x 版本推荐使用:mysqld --console --skip-grant-tables --shared-memory
      • 低版本MySQL数据库:
        • mysqld --skip-grant-tables
        • mysqld -nt --skip-grant-tables
  2. 窗口2:
    • flush privileges;
    • set password for root@localhost='root':

# [骚操作]同一台电脑,配置多个MySQL服务

核心诀窍就是同一个版本用同样的bin, Bat脚本里面写启动服务是用Bin里面的启动脚本启动(以达到共用脚本的目的),它的配置文件可以指向特定的配置文件,又通过特定的配置文件指向特定的data,从而达成隔离data文件的目的。

最新推荐

强烈推荐使用docker来构建不同的环境,比下面的方式更加灵活

# 1.Bat脚本

start D:\env\mysql_bin_8.0.35\mysqld.exe --defaults-file="D:\env\mysql_service1_data\my.ini"  --console
1

# 2.mysql配置文件(.ini)

[mysqld]
skip-log-bin
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\env\mysql_service1_data
#默认时区为东八区
default-time_zone = '+8:00'
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=caching_sha2_password
# 信任目录,表示导出文件可以不仅仅导出到data文件夹中
secure_file_priv=''
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  • 注意这个BaseDir一定要填好,配置文件放在哪不重要。
完善页面 (opens new window)
mysql从根上学习
备份、导入MySQL数据库

← mysql从根上学习 备份、导入MySQL数据库→

最近更新
01
JDK
02-23
02
BadTasteCode && 优化
09-11
03
Gradle 实践操作指南及最佳实践
09-11
更多文章>
Theme by Vdoing | Copyright © 2021-2025 Tandy | 粤ICP备2023113440号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式