mysql安装和遇到不能初始化的问题
s后先下载好mysql release版本解压到你需要的目录文件夹下面
建立my.ini文件
[mysqld] #因为数据库使用的是UTC世界标准时间,和格林威治差8小时,我使用的时Java13所以修改的 default-time-zone = '+8:00' # 设置 3306 端口 port=3306 # 设置 mysql 的安装目录 basedir=D:\\MySql\\mysql-8.0.20-winx64 # 设置 mysql 数据库的数据的存放目录 datadir=D:\\MySql\\mysql-8.0.20-winx64\\data # 允许最大连接数 max_connections=200 # 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统 max_connect_errors=10 # 服务端使用的字符集默认为 UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB #设置默认地区时间 # 默认使用“mysql_native_password”插件认证 default_authentication_plugin=mysql_native_password [mysql] # 设置 mysql 客户端默认字符集 default-character-set=utf8 [client] # 设置 mysql 客户端连接服务端时默认使用的端口 port=3306 default-character-set=utf8
当遇到缺少文件runtime.ddl时下载这个或者遇到VCRUNTIME.dll错误时或者遇到mysqld --initialize --console 没反应时下载下面的添加到bin目录下面就可以了
链接:https://pan.baidu.com/s/1VM9-8-_Lz7I-UQbHLwa3cA
提取码:rosc
当遇到mysql初始化时不记得密码可以按照如下步骤解决,需要严格按照顺序来做,不然会出错
这里是引用
https://developer.aliyun.com/article/676469
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld –skip-grant-tables
以不输入密码的方式启动MySQL服务,但是这条命令对MYSQL8.0.13,是没有任何作用的。
2..后来又在网上看到这条命令:mysqld --console --skip-grant-tables --shared-memory
操作步骤同1
打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,然后输入命令
mysqld --console --skip-grant-tables --shared-memory
现在可以以没有密码的方式登录了,但是直接执行命令:
会报错:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql>
经过多次试验最终,重置密码的步骤如下
1.打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务,
2.开启跳过密码验证登录的MySQL服务
输入命令
mysqld --console --skip-grant-tables --shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
4. 密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root';
5.退出mysql,执行命令:
quit
6. 关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务,
7. 打开命令框,输入:net start mysql 启动MySQL服务。
8.步骤4密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
9.利用上一篇博客中更改密码的命令,成功修改密码,如下图:
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'新密码'
;
10.验证更改后密码正确登录
输入quit,退出当前登录,输入登录命令:mysql -u root -p
输入密码,成功登录,到此,重置密码结束。