下载
在MySQL官网(https://dev.mysql.com/downloads/mysql/)下载了最新的MySQL压缩包
my.ini
解压并打开文件,文件中并没有my.ini
新建my.ini 并进行编辑 (通过百度获得)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8
[mysqld]
#设置3306端口
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 设置mysql的安装目录
basedir=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
basedir,datadir是MySQL压缩包解压后放置的位置
安装-mysqld install
用管理员身份运行命令提示符
进入MySQL压缩包解压后放置的位置 再进入bin 输入mysqld install 进行MySQL安装
出现Service successfully installed.安装成功
初始化-mysqld initialize(如果data中有许多文件则初始化成功)
接下来进行初始化
使用mysqld initialize
在此处我遇到一个问题 初始化失败 在data中只有两个文件
Joker.err其中Joker是我的电脑账户名
打开错误日志,提示我UTF8原为UTF8MB3建议改为UTF8MB4
再次运行依然出错
这次错误日志出现
[System] [MY-010116] [Server] E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64\bin\mysqld.exe (mysqld 8.0.13) starting as process 3012
通过搜索在my.ini中添加了
[WinMySQLadmin]
Server=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64/bin/mysqld-nt.exe
注意路径
再次运行data中出现很多文件
则初始化成功了
启动-net start mysql 登陆 -mysql -uroot -p
然后执行net start mysql
服务启动成功,接下来是进入MySQL
执行mysql -uroot -p
这个位置需要输入密码 然而我们还没有设置密码哪儿来的密码诶
错误日志,其中有一句
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: :snFfK9YSPLO
snFfK9YSPLO 这个就是生成临时密码
我们输入密码就登录进去了
有很多是跳过密码验证 就是在my.ini 的 [mysqld] 后面加 skip-grant-tables
会出现
MySQL 服务正在启动 ..
MySQL 服务无法启动。
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
EROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
等等一系列错误
如果已经出现了上述错误,停止服务,将data里面的文件全部删除
my.ini修改为
[mysql]
# 设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 设置mysql的安装目录
basedir=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[WinMySQLadmin]
Server=E:\ProgrammingTools\MySQL\mysql-8.0.13-winx64/bin/mysqld-nt.exe
注意路径
在执行初始化>>错误日志找到密码>>使用密码登陆
密码修改-ALTER USER USER() IDENTIFIED BY '密码';
登陆成功后就是修改密码了,而且必须修改密码能进行正常使用
输入 use mysql 就会出现
You must reset your password using ALTER USER statement before executing this statement.
由于我们的密码还是临时密码,提示我们用ALTER USER 进行改密
ALTER USER USER() IDENTIFIED BY '密码';
Navicat for MySQL连接问题
由于我是用的Navicat for MySQL
然后连接失败出现了
1251 client does no support authentic
使用 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
设置完密码即可正常使用