mysql-mysql8在windows下安装
1.下载 exe安装包
https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-8.0/
2.安装mysql
3.安装目录 创建my.ini文件
保存为ANSI 文件
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:Program FilesMySQLMySQL Server 8.0
# 设置mysql数据库的数据的存放目录
datadir=C:Program FilesMySQLMySQL Server 8.0Data
# 允许最大连接数
max_connections=3000
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
3.初始化数据库
在MySQL安装目录的 bin 目录下执行命令:
mysqld --initialize --console
执行完成后,会打印 root 用户的初始默认密码
要是你手贱,关快了,或者没记住,那也没事,删掉初始化的 datadir 目录,再执行一遍初始化命令,又会重新生成的
4.安装服务
C:Program FilesMySQLin>mysqld --install
Service successfully installed.
C:Program FilesMySQLin>net start mysql
MySQL 服务正在启动 ..
MySQL 服务已经启动成功。
C:Program FilesMySQLin>
5.更改密码
在MySQL
安装目录的 bin
目录下执行命令:
mysql -u root -p
这时候会提示输入密码,记住了上面第1.3步安装时的密码,填入即可登录成功,进入MySQL命令模式。
在MySQL8.0.4
以前,执行
SET PASSWORD=PASSWORD('[修改的密码]');
就可以更改密码,但是MySQL8.0.4
开始,这样默认是不行的。因为之前,MySQL
的密码认证插件是“mysql_native_password”
,而现在使用的是“caching_sha2_password”
。
因为当前有很多数据库工具和链接包都不支持“caching_sha2_password”
,为了方便,我暂时还是改回了“mysql_native_password”
认证插件。
修改用户密码,在MySQL
中执行命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
修改密码验证插件,同时修改密码。
如果想默认使用“mysql_native_password”
插件认证,可以在配置文件中配置default_authentication_plugin项
。
[mysqld]
default_authentication_plugin=mysql_native_password
6.创建用户 赋予权限
管理员root
的host
是localhost
,代表仅限localhost
登录访问。如果要允许开放其他ip
登录,则需要添加新的host
。如果要允许所有ip
访问,可以直接修改成“%”
创建用户:
CREATE USER 'xxh'@'%' IDENTIFIED WITH mysql_native_password BY 'xxh123!@#';
检查用户
select user, host, plugin, authentication_string from userG;
授权远程数据库
授权所有权限
GRANT ALL PRIVILEGES ON *.* TO 'xxh'@'%';
授权基本的查询修改权限,按需求设置
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON *.* TO 'xxh'@'%';
查看用户权限show grants for 'xxh'@'%';
查看密码加密方式:
mysql> select user, host, plugin, authentication_string from user;