mysql安装--压缩包安装

mysql安装--压缩包安装

六月 26, 2018

步骤

  1. 官网下载压缩包, 我下载的版本是windows/5.6/64位. mysql-5.6.40-winx64

  2. 解压到安装目录, 我解压的位置是 D:\software\mysql-5.6.40-winx64

  3. 设置环境变量,让cmd识别路径你已经下载了mysql,具体位置是path,添加到最末尾,注意分号。 ;D:\software\mysql-5.6.40-winx64

  4. 修改配置文件my-default.ini,文件位于安装目录下。修改basedirdatadir,一个是设置数据库文件的存放目录,一个是设置mysql的安装目录

  • 注意这里的目录使用单斜线可能会导致后面的初始化报错.
1
2
3
4
5
6
7

[mysqld]

basedir = D:\\software\\mysql-5.6.40-winx64
datadir = D:\\software\\mysql-5.6.40-winx64\\data
# port = 3310
# server_id = .....
  1. 修改配置文件名my-default.ini 改为 my.ini

准备工作已经做完,接起来准备启动

  1. 管理员权限运行cmd, cmd目录切换到mysql安装目录的bin文件夹下,执行初始化
1
2
3
4
5
6
7
8
9
10
11
# 执行初始化
D:\software\mysql-5.6.40-winx64\bin> mysqld --initialize

# 初始化成功,会显示一堆日志形式的日志

2018-06-26 11:18:26 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).
2018-06-26 11:18:26 0 [Note] --secure-file-priv is set to NULL. Operations relat
ed to importing and exporting data are disabled
2018-06-26 11:18:26 0 [Note] mysqld (mysqld 5.6.40) starting as process 7684 ...
  1. 开始安装mysql服务

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 开始安装
    mysqld –install mysql
    # 安装成功,
    Service successfully installed.

    # 管理员权限下,cmd中启动mysql服务
    net start mysql

    # 启动成功,
    mysql 服务正在启动 .
    mysql 服务已经启动成功。
  2. 登录MYSQL

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    # 进入登录mysql界面
    mysql -uroot -p

    # 要求输入password密码
    默认为空,直接回车

    # 登录成功后,显示
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 1
    Server version: 5.6.40 MySQL Community Server (GPL)

    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    mysql>

参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

mysqld –initialize-insecure 自动生成无密码的root用户;
mysqld –initialize自动生成带随机密码的root用户。


# 修改mysql密码,此处我改成了 123456

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'


mysql> exit 退出mysql编辑模式;

# 查看你刚才安装的mysql服务
打开 运行,输入 Services.msc, 其中在 服务(本地)可以看到mysql这一项,并且是正在运行状态

# 停止mysql服务
net stop mysql
打开 运行,输入 Services.msc, 其中在 服务(本地)可以看到mysql这一项,并且是停止状态

遇到报错

提示:ERROR 1044 (42000): Access denied for user ‘‘@’localhost’ to database ‘mysql’。

密码对不上,密码为空(默认) 或者为设置后的123456
网上找了一个比较流行的方法(见方法一),搞定了。今天又用这个试了试,却搞不定,在网上找了半天,终于发现是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的‘‘@’localhost’可以看出来,于是解决办法见方法二。

1
2
3
4
5
6
7
8
9
10
11
方法一:
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//记得要这句话,否则如果关闭先前的终端,又会出现原来的错误
mysql> \q