下载并配置MySQL数据库(5.7及以上版本)

下载并配置MySQL数据库(5.7及以上版本)

由于在安装配置MySQL的时候踩了很多的坑,所以在此mark一下。


###下载MySQL
这里我下载的是windows下的社区版。
传送门:
MySQL官网
下载地址
这里写图片描述

上图就是MySQL的下载地址了,这里我下载的是5.7.21版本,比5.6版本大了很多。

这里写图片描述
点击DownLoad下载,跳转到了登录界面,不过可以选择直接开始下载。

下载下来的是一个MySQL的压缩包,只要将其解压到某个文件夹下,就算安装成功了。

不过若如此简单,也就不用写一篇文章来记录了。下面是MySQL的一下配置,在此着重记录一下。

###对MySQL进行配置

####1. 我将MySQL压缩包解压到了 B:\MySQL\mysql-5.7.21-winx64目录下,为防止莫名其妙的问题,目录最好不要带中文。

####2. 在B:\MySQL\mysql-5.7.21-winx64文件夹下新建my.ini配置文件:
这里写图片描述
刚开始安装的时候并没有这么多文件,这里的图片是我配置完初始化后才生成的,所以不必担心。

####3. 在my.ini文件中添加配置内容:

####################配置文件开始###################

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the

# *** default location during install, and will be replaced if you

# *** upgrade to a newer version of MySQL.

[client]

default-character-set=utf8


[mysqld]

port=3306

basedir ="B:\MySQL\mysql-5.7.21-winx64/"

datadir ="B:\MySQL\mysql-5.7.21-winx64/data/"

tmpdir ="B:\MySQL\mysql-5.7.21-winx64/data/"

socket ="B:\MySQL\mysql-5.7.21-winx64/data/mysql.sock"

log-error="B:\MySQL\mysql-5.7.21-winx64/data/mysql_error.log"


#server_id = 2

#skip-locking


max_connections=100

table_open_cache=256

query_cache_size=1M


tmp_table_size=32M

thread_cache_size=8


innodb_data_home_dir="B:\MySQL\mysql-5.7.21-winx64/data/"

innodb_flush_log_at_trx_commit =1

innodb_log_buffer_size=128M

innodb_buffer_pool_size=128M

innodb_log_file_size=10M

innodb_thread_concurrency=16

innodb-autoextend-increment=1000

join_buffer_size = 128M

sort_buffer_size = 32M

read_rnd_buffer_size = 32M

max_allowed_packet = 32M

explicit_defaults_for_timestamp=true

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

skip-grant-tables

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

####################配置文件结束###################

其中路径要改为自己MySQL解压的路径,#表示注释,data文件夹没有不要紧,一会初始化后就会自动生成。配置data表示数据库数据所存放的位置。
最后一句skip-grant-tables表示不输密码登录数据库;

####4. 启动MySQL服务并启动MySQL服务
快捷键windows + x,这里使用管理员的命令提示符,否则权限不够。点击命令提示符(管理员),cd到B:\MySQL\mysql-5.7.21-winx64bin目录下,
输入命令:mysqld install MySQL --defaults-file="B:\MySQL\mysql-5.7.21-winx64\my.ini"启动MySQL服务
移除服务的命令为:mysqld remove

注意:是mysqld不是mysql

这里写图片描述

这里我的MySQL服务已经启动了,所以先停止服务、移除再重新初始化了一下。

成功之后输入mysqld --intialize命令初始化data目录

这里写图片描述

这步非常重要,之前看一些文章都跳过了,导致MySQL服务无法启动且没有错误提示信息。

成功之后生成了data目录和一些文件,说明初始化已经完成已经ok。
接下来启动MySQL服务:
启动mysql命令:net start mysql
停止mysql命令:net stop mysql
这里写图片描述
可以打开任务管理器查看:
这里写图片描述

####5.添加mysql到系统环境变量
配置之后不用每次都到bin目录下才能使用mysql命令,添加到环境变量一劳永逸:
此电脑(右键) > 属性 > 高级系统设置 > 环境变量;
新建系统变量,将bin目录路径添加到变量中,之后再在Path添加变量即可;

####6. 修改root密码
命令行执行:

mysql –uroot
 
mysql>show databases;
 
mysql>use mysql;
mysql> update mysql.user set authentication_string=password('12345') where user='root' and Host = 'localhost';
 
mysql> alter user 'root'@'localhost' identified by '12345';
 
mysql> FLUSH PRIVILEGES;
 
mysql> QUIT

注意,分号不要省略;

####7.远程登陆配置
允许root用户在任何地方进行远程登录,并具有所有库任何操作权限

命令行执行:mysql -u -root -p
输入密码:12345

由于刚刚my.ini配置了skip-grant-tables,所以不需要密码也可以登录该账户。

mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘12345’ WITH GRANT OPTION;

重载授权表:

mysql>FLUSH PRIVILEGES;

退出mysql:quit

####8.查看MySQL数据信息(mysql常用命令)
登录MySQLmysql -u root -p
这里写图片描述
查看所有数据库show databases;
这里写图片描述
注意分号

选择数据库use mysql
查看数据库的所有表信息show tables;
这里写图片描述

退出登录:quit;
这里写图片描述

###重置5.7及以上MySQL密码

  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
    这里写图片描述

  2. 重启MySQL服务。
    这里写图片描述

  3. 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。

  4. 执行“use mysql;”,使用mysql数据库。
    这里写图片描述

  5. 执行update mysql.user set authentication_string=password('root') where user='root'and Host = 'localhost';(修改root的密码)
    这里写图片描述
    若之前未设置别名,要在执行此命令之前设置:alter user 'root'@'localhost' identified by 'root';

  6. 执行flush privileges;刷新服务;
    这里写图片描述

  7. quit;退出设置;

  8. 修改my.ini配置文件,将skip-grant-tables注释掉。

  9. 重启MySQL服务。

  10. 执行mysql -u root -p 输入密码,登录成功。
    这里写图片描述
    输入错误密码或不输入密码登录失败,说明重置成功。

*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,所以update user set password=PASSWORD("root") where user='root';命令不再生效。

###参考文章:
http://www.jb51.net/article/90302.htm
http://www.jb51.net/article/77858.htm

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值