【MySQL】解压安装
1、解压缩
解压MySql压缩包到 D:\dev\env\mysql-8.4.2-winx64
2、初始化数据目录
进入 cd D:\dev\env\mysql-8.4.2-winx64\bin
mysqld --initialize --console
命令执行完毕后会在解压目录下生成一个data文件夹,注意收集生成的随机密码,会出现在dos窗口中,如:*J<Etw#aS5ym。登录要用
3、在根目录创建配置文件 my.ini
[mysqld]
# 设置3306端口
port=3306
# 自定义设置mysql的安装目录,即解压mysql压缩包的目录
basedir=D:\dev\env\mysql-8.4.2-winx64
# 自定义设置mysql数据库的数据存放目录
datadir=D:\dev\env\mysql-8.4.2-winx64\data
# 允许最大连接数
max_connections=10000
# 设置页大小128K
innodb_page_size=131072
# 允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
mysql_native_password=ON
# 时区
default-time-zone='+8:00'
sql_mode=''
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口和默认字符集
port=3306
default-character-set=utf8mb4
4、安装服务、删除服务
mysqld.exe --install
默认服务名称是MySQL,或者通过 mysqld.exe --install "MySQL8" 指定服务名称
mysqld.exe --remove
删除默认服务名称,或者通过 mysqld.exe --remove "MySQL8" 删除指定服务名称
5、启动服务、停止服务
使用创建的服务名称
net start MySQL
net stop MySQL
6、设置 root 用户密码
使用步骤二收集的随机密码登录
mysql -u root -p
旧加密方式 mysql_native_password
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
新加密方式 caching_sha2_password
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
7、添加新用户
CREATE USER 'ycx'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ycx'@'%';
8、可能错误
8.4.2版本会报错
[ERROR] [MY-000067] [Server] unknown variable 'default_authentication_plugin=mysql_native_password'.
把语句中的 default_authentication_plugin=mysql_native_password 换为 在配置文件中设置 mysql_native_password=ON
9、常用操作
版本
select version();
时区
show variables like '%time_zone%'
set global time_zone ‘+8:00’;
时间
select now();
日志
select DATE_FORMAT(now(), '%Y-%m-%d %H:%i:%s')
show variables like '%log_bin%';
最大链接
set GLOBAL max_connections = 9000;
show variables like '%max_connections%';
接受的数据包大小sql大小
show VARIABLES like '%max_allowed_packet%';
set global max_allowed_packet = 2*1024*1024*10

浙公网安备 33010602011771号