- 在官网下载最新版(5.7)的mysql数据库,32位的有直接安装的版本,然而64位的只有一个ZIP Archive
- 下载好后,将其解压,我直接装C盘,所以接下来都是以C盘为安装目录,如果安在别的盘,要自己更改相应的目录.
- 将
my-default.ini
这个配置文件复制一份,命名为my.ini
,尝试了许多种文件内容之后,用以下的文件内容可以成功安装.mysql的文件夹中是没有data这个文件夹的,后续会提到.
# *** 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
port=3306
[mysqld]
port=3306
character_set_server=utf8
basedir ="C:\Program Files (x86)\mysql-5.7.14-winx64"
datadir ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/"
tmpdir ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/"
socket ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql.sock"
log-error="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql_error.log"
character_set_server=utf8
#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="C:\Program Files (x86)\mysql-5.7.14-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"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES`
- 接下来添加环境变量,将 解压下来的文件中的bin文件夹设置成为环境变量,我的是
C:\Program Files (x86)\mysql-5.7.14-winx64\bin
- 接下来是重点,到DOS进入到mysql的bin文件夹中!!输入以下命令
1. mysqld --console
2. mysqld --initialize
3. mysqld install
可能会有各种各样的问题,自己看看问题原因再谷歌找找解决办法.到这里基本就安装完了.
6 . 接下来是修改root密码.这里可能会有一些乱七八糟的问题.
1. 到配置文件中,即之前的my.ini
中, 在[mysqld]下添加一行skip-grant-tables
这个参数顾名思义,忽略授权表,再忘记root密码的时候,这是个很有用的参数.
2. 启动MySQL, 在DOS中输入 mysql -uroot -p
u就是user,p自然就是password,记得u和p与后面的用户名密码间不要有空格.这里回车后,会让你输入一个密码,随便输入一个你的密码就可以.
3. mysql> update mysql.user set authentication_string=password('123qaz') where user='root' and Host = 'localhost';
括号中是自己的密码.记得结尾有个分号.
4. mysql> flush privileges;
5. mysql> quit;
6. 回到配置文件中,删除skip-grant-tables
这一行,保存重启mysql即可.
7. 之后修改密码,使用mysql>SET PASSWORD = PASSWORD('123456');
远程登录配置
- 先使用
mysql -uroot -p
登录数据库 - 进行授权操作 :
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重载授权表:
mysql>FLUSH PRIVILEGES;
Access denied for user \’root\’@\’localhost\’”解决方法
解决办法就是重置一个新的密码
- 先停止mysql的运行.
- 创建一个文本文档,内容为
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');
括号内填写新的密码,文件名任意,自己知道就好.保存在C盘.C:\pw.txt
- 到MySQL目录的bin文件夹内执行mysqld
C:>C:\Program Files (x86)\mysql-5.7.14-winx64\bin\mysqld -nt --init-file=C:\pw.txt
.这样,mysql启动的时候,就会执行pw.txt中的语句,它将重置root密码.如果卡死在这里,直接ctrl+c
结束任务,再来一次即可.记得成功启动后删除pw.txt
文件 - 再按照普通的方法启动即可.