一:下载安装
官网:https://www.mysql.com/downloads -> Community (GPL) Downloads -> MySQL Community Server (GPL)
安装版或zip解压版,我们使用zip解压版,解压到路径:D:\sw\mysql
二: my.ini (不需要utf8编码,保持系统编码)
[mysqld]
basedir=D:/sw/mysql
datadir=D:/sw/mysql/data
port=3306
character-set-server=utf8
[client]
port=3306
[mysql]
default-character-set=utf8
三:cmd
随机密码:
mysqld --defaults-file=D:\sw\mysql\my.ini --initialize --user=mysql --console
空密码(我们使用这个,之后设置密码):
mysqld --defaults-file=D:\sw\mysql\my.ini --initialize-insecure --user=mysql --console
Windows 2016安装mysql8提示MSVCP140D.dll和vcruntime140d.dll丢失
要安装Microsoft Visual C++ 2015 Redistributable Update 3
是
update 3, 是
update 3, 是
update 3,重要的事说三遍
下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=53840
四:初次启动
mysqld --console
遇到错误:InnoDB: The innodb_system data file 'ibdata1' must be writable
解决:
打开mysql安装目录的data文件夹,删除以下2个文件:ib_logfile0和ib_logfile1
停止(打开另外一个cmd并cd到mysql的bin文件夹):
mysqladmin -u root shutdown
五:注册成服务器
mysqld --install mysql --defaults-file=D:\sw\mysql\my.ini
删除服务
mysqld --remove mysql
六:配置环境变量
MYSQL_HOME D:\sw\mysql
PATH %MYSQL_HOME%\bin
测试:mysql -u root
七:设置root密码
1. 启动service
2. update(这是mysql 8的修改方式)
mysql -u root
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
mysql> quit
看一下密码:
show databases;
use mysql;
select User, authentication_string from User where User='root';
八:设置外网可访问
1. 设置mysql外网访问
select User, host from User where user='root';
update user set host='%' where user='root';
flush privileges;
2. 阿里云设置 安全组规则
3:设置服务器防火墙的出站规则和入站规则
九:my.ini的一些设置
1. [mysqld]的max_allowed_packet
max_allowed_packet = 256M
用cmd登录mysql再次查看一下
show global variables like 'max_allowed_packet';
//----------------------------------------------------------------------------------------------------------- 我是分界线
如果你使用msi安装程序安装,安装过程就忽略了。写一下碰到的问题
1. ERROR 1251: Client does not support authentication protocol requested by server 问题
原因:DB服务器版本(比如8)比较高,使用的密码策略不一样
解决方法:
mysql -u root -p
mysql> 输入密码
mysql> show databases;
mysql> use mysql;
mysql> select User, host, authentication_string from User where User='root';
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; ------->假如你的host是%的话,这里的localhost就要换成 %
mysql> flush privileges;
mysql> quit
2. 数据导入发生 MySQL server has gone away
网传很多很多的原因,我只说我自己的特殊情况: 本地网络tmd限制了上行网速及流量!!!