原文地址:https://blog.csdn.net/csd_nuser/article/details/110109844
本博客目标集成大部分常用软件安装、使用说明,技术解决方案发布,请持续关注。
下载版本为:mysql8.0.22
1、下载地址:https://dev.mysql.com/downloads/mysql/
请下载zip版本。下载其他版本请参考图2
![](https://i-blog.csdnimg.cn/blog_migrate/56abeb2b18f476047684338a99e0fd65.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4441553ea477a641e688888196c35bb8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/143a167a8b31dbd653b3a8dfcd7b7c44.png)
下载解压以后是这样的,会发现没有my.ini文件
2、新建一个my.ini文件,请根据实际情况修改路径
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:/mysql-8.0.22-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:/mysql-8.0.22-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
3、以管理员身份cd到,当前目录,D:/mysql-8.0.22-winx64/bin
执行命令,此处一定要添加--consol,会打印出来root的初始化密码
mysqld --initialize --console
这个过程大概有10秒左右,会自动初始化mysql数据库。
然后根据需要执行以下命令
执行命令:mysqld -install #安装mysql (安装成功提示 Service successfully installed.)
执行命令:mysqld -remove #删除服务
执行命令:net start mysql #启动服务
执行命令:net stop mysql #停止服务
之后还是在bin目录执行mysql -u root -p 无密码进入
首先会提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
需要先修改密码,因为刚才的密码是随机的
alter user user() identified by 'root';
之后就可以随意执行了
首先需要解决授权问题
默认执行grant all on *.* to 'root'@'%'的时候会提示
ERROR 1410 (42000): You are not allowed to create a user with GRANT
原因:当前user表中没有root - %记录; 可以更新root - localhost 为 root - %
需要执行,注意后面的条件,因为mysql把host+user作为联合主键了。
update user set host = '%' where user = 'root' and host='localhost';
此处还需要创建远程登录用户,注意mysql8.0以后无法再使用
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;(mysql8.0以前可用)
方式创建用户和授权了。
mysql8.0方式创建用户和授权
mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
刷新数据库
flush privileges;
PS:到这一步的时候,很多人发现旧版本的连接工具(navcat)连接不上了,然后网上一堆文章说改密码方式。其实不建议更改,要么就升级navcat。要么就用回5.7。但是这里还是备注一下修改方式。真心不建议用。
(这里还是记录一下修改密码规则的方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES; #刷新
)
其他的一些常用命令
show variables like 'character%'; # 显示编码集
set character_set_client=utf8 ; # 配置编码
set character_set_connection=utf8 ;
set character_set_database=utf8 ;
set character_set_database=utf8 ;
set character_set_results=utf8 ;
set character_set_server=utf8;
set character_set_system=utf8 ;
show variables like 'character%'; # 查看配置结果
PS:
如果在执行mysqld init过程中提示缺少文件的参考下面链接
https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
按需下载对应版本
安装过程中有什么问题,请在评论区回复,我们会持续更新