https://dev.mysql.com/downloads/mysql/
下载要登录,可以使用Oracle账户登录
2.安装MySQL服务
- 下载好的解压到D:\developer目录下
- 配置MySQL(windows下是my.ini,Linux下是my.cnf)
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\developer\MySQL-8.0.14-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\developer\MySQL-8.0.14-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
3. 管理员身份打开cmd,切换到MySQL的bin目录,输入mysqld install回车
4. net start mysql时报错,以为是没有创建data目录,创建之后重新启动,还是失败,刚才创建的data目录下多了一个.err和binlog.index文件,err文件内容:
2019-01-24T13:18:15.582200Z 0 [System] [MY-010116] [Server] D:\developer\MySQL-8.0.14-winx64\bin\mysqld (mysqld 8.0.14) starting as process 7196 2019-01-24T13:18:15.585200Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous. 2019-01-24T13:18:15.673205Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory. 2019-01-24T13:18:15.677206Z 0 [ERROR] [MY-010119] [Server] Aborting 2019-01-24T13:18:15.678206Z 0 [System] [MY-010910] [Server] D:\developer\MySQL-8.0.14-winx64\bin\mysqld: Shutdown complete (mysqld 8.0.14) MySQL Community Server - GPL.
5. 想办法吧,盘它。。。
1)手动删掉自己创建的data文件夹
2)然后再管理员cmd下进入 bin 目录,移除自己的mysqld服务
3)在cmd的bin目录执行 mysqld --initialize-insecure
程序会在动MySQL文件夹下创建data文件夹以及对应的文件
4)bin目录下执行,mysqld --install ,安装mysqld服务
5)在bin目录下运行net start mysql ,启动mysql服务。
3.配置MySQL
完了,不知道root密码进不去,咋弄,用老方子-skip-grant-tables的方法不灵了。
- MySQL8无密码启动服务(我没试,你可以试试)
>mysqld --console --skip-grant-tables --shared-memory
将root密码置空
>UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';
- --init-file
停止mysql服务
>net stop mysql
创建一个文本文件updPasswd.txt,内含一条密码修改命令
>ALTER USER 'root'@'localhost' IDENTIFIED BY ''; (这里密码置空了,也可直接填写新密码)
命令方式启动MySQL服务器
>mysqld --init-file=D:\developer\MySQL-8.0.14-winx64\updPasswd.txt --console
OK,大功告成
,