9de7bb31d0644e7393039222babfed10
前面演示了各种MySQL的安装, 好像漏了windows平台的安装
本来已经是记录在笔记本里的, 这次正好有个项目需要,趁机整理, 发出来给大家参考。
安装步骤
- 解压 mysql-8.0.18-winx64.zip 到 C:\Program Files\MySQL,添加 C:\Program Files\MySQL\bin到path变量
- 新建 C:\Program Files\MySQL\my.ini 如下
[mysqld]
port=3306
basedir=C:\Program Files\MySQL
datadir=C:\Program Files\MySQL\Data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=INNODB
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
- 初始化MySQL,以管理员身份运行CMD进入mysql的bin目录,执行
mysqld --initialize --console #记录下临时产生的root密码
如果出现丢失 msvcp140.dll 需要安装 mvc++2015-2019\VC_redist.x64.exe
安装和启动MySQL服务
mysqld --install
可选
修改服务的注册表,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL\ImagePath
默认为 "C:\Program Files\MySQL\MySQL Server 8.0\mysqld" MySQL 修改 为 "C:\Program Files\MySQL\bin\mysqld" MySQL , 如果已经是则不需要修改
启动服务
启动注意事项: 如果出现3523错误,检查 my.ini 配置,在linux下末尾是不是有^M
建议:打开记事本新建一个空白文件粘贴内容并以 ansi 保存为 my.ini 不要先新建文件并在文件基础上编辑
建议:设置操作系统显示扩展名,曾经浪费很多时间,以为建立了 my.ini,其实建立的是 my.ini.txt
net start mysql
登录 密码使用上面产生的密码
mysql -u root -p
修改密码,建议此处创建 root@'%'
set password='Root_1qaz';
FLUSH PRIVILEGES;
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '**********' password expire never;
GRANT ALL PRIVILEGES ON *.* to 'root'@'%' with grant option;
#允许3306端口通过防火墙
netsh advfirewall firewall add rule name="mysql" dir=in protocol=tcp localport=3306 action=allow
扩展: 参照 linux my.cnf 修改参数如下
注意 tmpdir 值需要使用 \\, 启用 skip_name_resolve 前要先创建 root@'%' 否则本地无法登入
tmpdir=C:\\Program Files\\MySQL\\temp
innodb_buffer_pool_size=4G
binlog_cache_size=1M
group_concat_max_len=1G
log_bin_trust_function_creators=on
skip_name_resolve=on
default_authentication_plugin=mysql_native_password
max_connections=1000
wait_timeout=1200
interactive_timeout=1200
log_timestamps=system
default_time_zone='+08:00'