第一步 编辑配置文件
[mysqld]
skip-grant-tables
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect='SET NAMES utf8'
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=1000M
innodb_log_file_size=50M
innodb_file_format=barracuda
innodb_file_per_table=true
innodb_large_prefix=true
max_allowed_packet=500M
# 设置mysql的安装目录
basedir=F:\mysql-5.7.25-win32\mysql-5.7.25-win32
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql-5.7.25-win32\mysql-5.7.25-win32\data
# 允许最大连接数
max_connections=200
explicit_defaults_for_timestamp=true
sql_mode=ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES
[mysql]
default-character-set = utf8
[client]
default-character-set = utf8
以上为配置文件,注意定第一行 skip-grant-tables 可以在不需要密码的情况下直接登录数据库。
第二步:以管理员身份打开cmd命令行开始安装
mysqld --initialize #直接初始化mysql,生成data文件夹中的文件。
mysqld -install #安装mysql
net start mysql #启动服务器
第三步 修改密码
服务器启动以后,按照我的经验不用关闭服务,不用退出,直接登录就可以
此时登录时,不知道密码,按以下步骤设置密码。
1:命令行输入mysql -uroot -p 直接回车进入mysql的界面
2:成功进入数据库以后输入命令update mysql.user set authentication_string=password('104962') where user='root' and Host = 'localhost';
回车确认命令执行
3:没有错误情况下 进行下一步操作 命令输入命令 flush privileges; 回车执行
4:正确执行命令以后,修改my.ini 文件内容,将skip-grant-tables 删除,重新保存my.ini文件内容,
5:关闭数据库,通过windows服务管理,我这在命令行里用 net stop mysql 也可以。
6:重启数据库 登录 时利用 mysql -u root -p 时,需要输入密码,不然是无法登录的。
7:通过账号密码登录以后在对数据库进行操作时,还是会报一个错误 ERROR 1820 YOU MUST RESET YOU PASSWORD........ 此时解决办法是,在命令行输入命令
alter user 'root'@'localhost' identified by '104962'; 回车执行,就OK了