下载并配置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-winx64
的bin
目录下,
输入命令: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常用命令)
登录MySQL:mysql -u root -p
查看所有数据库:show databases;
注意分号
选择数据库:use mysql
查看数据库的所有表信息:show tables;
退出登录:quit;
###重置5.7及以上MySQL密码
-
打开MySQL目录下的
my.ini
文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
-
重启MySQL服务。
-
通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。
-
执行“use mysql;”,使用mysql数据库。
-
执行
update mysql.user set authentication_string=password('root') where user='root'and Host = 'localhost';
(修改root的密码)
若之前未设置别名,要在执行此命令之前设置:alter user 'root'@'localhost' identified by 'root';
-
执行
flush privileges;
刷新服务;
-
quit;
退出设置; -
修改my.ini配置文件,将
skip-grant-tables
注释掉。 -
重启MySQL服务。
-
执行
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