1、下载
https://dev.mysql.com/downloads/mysql/
2、解压到固定位置,如D:MySQLmysql-5.7.24
3、添加my.ini文件
跟bin同级
···
[mysql]
设置mysql客户端默认字符集
default-character-set=utf8 [mysqld]
设置3306端口
port = 3306
设置mysql的安装目录
basedir=D:MySQLmysql-5.7.24
设置mysql数据库的数据的存放目录
datadir=D:MySQLmysql-5.7.24data
允许最大连接数
max_connections=200
服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
创建新表时将使用的默认存储引擎
default-storage-engine=INNODB max_connect_errors=100 explicit_defaults_for_timestamp=true ···
4、初始化
mysqld --install mysql --defaults-file=D:MySQLmysql-5.7.24my.ini
5、安装服务
mysqld --install mysql
6、启动
net start mysql
完成
遇到的问题
1、本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止
或者控制台报错
mysql 服务无法启动
服务没有报告任何错误
可以重新进行初始化,重新启动,初始化之前要清空data文件夹(跟bin同级)
还可以删除服务,重新注册
mysqld -remove mysql
2、重新注册会发现可能有其他错误如:TIMESTAMP with implicit DEFAULT value is deprecated
解决方法:
在my.ini 文件中的[mysqld]下添加一行explicit_defaults_for_timestamp=true。就可以了
这个语句的含义是 #开启查询缓存,这也是web缓存之一,对重复查询只需要在缓存中读取就可以,减少对数据库的访问。
3、登录按照网上说的改密码:
mysqladmin -uroot -p password 新密码
发现也会报错
mysql Access denied for user root@localhost错误
跳过密码登录,然后改表user
update user set password=password("新密码") where user="root"; password列名也可能是 authentication_string
然后刷新 flush privileges;
4、跳过密码登录的方法
MySQL配置文件my.ini中,在[mysqld]下添加skip-grant-tables,关闭MySQL服务并重新开启;
输入命令:mysql -u root -p
回车后,要求输入密码,直接回车跳过,则直接进入MySQL。
这样设置之后,可以直接双击D:MySQL5.7.10bin下的mysql.exe启动,而不用输入命令。