1.解压MySQL压缩文件产生解压文件mysql-5.7.20-winx64文件,修改文件名为mysql
2.在进入MySQL目录内由于没有data和my.ini文件,要创建一个my.ini文件,data一会初始化时会自动安装,
my.ini文件:
普通版的
[client]
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files X86\mysql
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files X86\mysql\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
支持emoji表情包的
[client]
port = 3306
# 设置mysql客户端默使用认字符集 支持emoji
default-character-set=utf8mb4
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\Program Files\mysql-5.7.20-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\Program Files\mysql-5.7.20-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# ##############以下内容配置 是为了使数据库支持 emoji 表情########
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
# ##################支持配置结束#########
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
# default-character-set=utf8
# 设置mysq默认使用字符集 utf8mb4 支持emoji 表情包
default-character-set=utf8mb4
上面两处需要对应你的解压位置,basedir,datadir。
4.进入bin目录后在目录导航栏内输入cmd,打开cmd控制台
先初始化mysql :mysqld --initialize --user=mysql --console
成功后MySQL文件夹内会产生data文件,还会产生一个初始密码
win10初始时没有错误,但是在win7会报错,说my.ini文件第一行错误的,错误内容如下:
mysqld: [ERROR] Found option without preceding group in config file F:\Program F
iles\mysql5.7\my.ini at line 1!
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
搜索下说是把ini后缀要换成ansi的后缀就可以,照此做了,还真就初始化成功,并且安装成功,但是在使用后发现中文乱码,也就是配置文件的内容utf8的无效,重装了两次都不行,后来看到一个改法 是把my.ini的编码格式换成utf8的,不用改后缀名称,再次初始化成功
5.安装mysql:mysqld --install mysql
此时报如下错误,这是因为之前已经安装过mysql,却没有卸载干净,重新打开一个cmd命令窗口
输入sc query mysql 查看一下名为mysql的服务
看到有一个SERVICE_NAME名为myslq的,然后输入 sc delete mysql,删除该mysql
提示删除成功,然后再回到mysql\bin cmd命令窗重新执行上述第5步 安装mysql
出现此提示表示安装成功,然后登陆mysql
在win10上以上操作没有问题,但是到了win7不行,win7安装后发现无法登录,会报错
1130: Host ‘::1‘ is not allowed to connect to this MySQL server,就是拒绝连接,解决办法:
1,停止mysql服务 -- net stop mysql
2,删除 data文件夹下的 ib_logfile0,ib_logfile1两个文件
3,在bin目录打开cmd命令窗输入 mysqld --console --skip-grant-tables --shared-memory 然后回车,运行完后不要关闭这个窗口
4,再次在bin目录下新打开一个cmd命令窗 然后 输入 mysql -uroot -p 直接回车,不用输入密码再次回车,两次回车后就看到最熟悉的画面了 mysql> 此时可以操作数据库了,然后修改登录权限,修改方法在下面的第8步
5,保存退出后关闭上面第一个打开的命令窗(既是3的时候打开的命令窗),然后再次启动mysql服务 net start mysql ,启动后登录 mysql -uroot -p 输入初始化时生成的密码,就可以进入mysql了,至此报错解决,继续往下走。
6.登陆mysql,修改密码
mysql -uroot -p
复制初始化产生的密码登陆即可,如果密码在文本中保存crtl c 复制后,直接点击右键粘贴
7.如上登陆成功后修改密码 : set password=password('新密码');
如上修改成功,然后退出,以新密码登陆测试
8.设置访问权限,进入mysql
user mysql
查询user表
修改user表中的root账户host值为%
成功后再次查询user表
可以看到root账户权限以改变,输入 :flush privileges; 刷新权限
成功后退出mysql ,连接mysql即可