最新(2019)MySQL 8.0.18 win64的安装方法

本文章只说明使用ZIP文件安装的方法

社区版下载地址:http://dev.mysql.com/downloads/mysql/

总结一下就是:
下载安装包解压
配置环境变量
添加配置文件
初始化mysql
启动mysql服务
登录并修改密码(一般人都不会用自动生成的那个记不住的字符串)

出现问题首先请检查是否是在管理者权限下启动的cmd,如果不是请关闭再以管理者权限启动

1.找到想下载的版本下载,官网默认推荐下32位的
可以自己改选下载64位的,下载后解压到想安装到的位置
2.将解压后mysql的bin目录添加到环境变量。请自行搜索“如何添加环境变量”
3.配置my-default.ini。也别信下面说的那篇文章的高版本不用配置。
自己配置一个。很多文章叫你配置的是my.ini。但是我实际安装时发现命名为my.ini无法启动服务。要命名为my-default.ini

解压后的文件夹下新建txt文件,写入以下内容后改名为my-default.ini
**注意!!!!**目录改成你自己的安装目录

[mysql]
default-character-set=UTF8MB4

[mysqld]
port=3306
basedir=D:\DevSoft\mysql-8.0.18-winx64
#data文件夹可以指定到其它你想存储数据的地方,避免以后删除mysql时数据也被删了
#不然你就记得长个心眼,删除之前复制一份data里*自己创建的*数据库文件
datadir=D:\DevSoft\mysql-8.0.18-winx64\data
#200可以改,指定最大连接数
max_connections=200
character-set-server=UTF8MB4
default-storage-engine=INNODB

UTF8MB4是我遇坑过程中发现mysql声明最好使用这个而不是utf8
4.大坑来了请注意,千万不要使用https://blog.csdn.net/watestill/article/details/81532780
这篇文章中说的mysqld --initialize -insecure方法
4.4w+阅读量不知道坑害了多少人,不知道是搞错了还是因为时间关系这个方法变得不适用了。insecure是不安全的意思,看他文章描述我还以为就是没有初始密码所以不安全,看来不安全的地方有点多,用这个方法start mysql时出现了5个error。

如果是初次安装,使用了这个方法的请删除整个data文件夹,放心删完,因为如果你是初次安装(安装失败N次也算)MySQL并且没有使用sql语句进行过操作或者导入sql文件,那么data文件夹本身及其下面所有内容都是初始化过程中产生的,不会删掉任何重要的东西。

windows首先要以管理员权限运行cmd
开始菜单栏右键就可以找到,win10是powershell,一个效果
如果习惯使用cmd,在powershell下输入cmd,也会是管理员权限方式打开cmd
执行mysqld --initialize --user=root --console
root是用户名 --console会输出初始化信息
如果成功,输出信息最后的localhost:后的内容就是密码
复制保存好备用!!!。你也找不到上面那篇文章说的err文件,新版本的mysql肯定改位置甚至可能为了安全考虑加密存储了,所以记住一定复制好密码。

以下步骤仍然要以管理员权限启动的cmd下进行
5.安装服务mysql服务
mysqld --install
6.启动服务net start mysql
7.登陆
mysql -h 127.0.0.1 -u root -p回车,然后输入密码
127.0.0.1就是localhost
我安装时随机生成的是,4?hsWAb;fjjo,我怀疑?是一个无法显示的字符导致我因为密码错误被拒绝登陆。
参照这篇文章解决了问题。[https://www.cnblogs.com/lyhbky/p/10748357.html]
两个注意点一定要注意,文章中使用mysqld --shared-memory --skip-grant-tables指令是需要mysql服务是关闭的(net stop mysql)
执行这个指令后不会让你输入下一个指令,不是因为没执行完或者卡住了,这个指令的效果就是这样,所以这时候你需要另开一个以管理员权限启动的cmd窗口去输入其它指令
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY '123456’一般大家会复制文章中这条指令尝试去解决问题,但是请注意,在这句指令后加一个英文分号再回车,不然sql不会执行这个指令而是判断你没输入完进而继续等待输入。
即使用ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

7.自动生成的密码特别乱,修改成自己的密码
setpassword=password(‘123456’)
由于我通过6中的方法修改了密码,所以这个方法的正确性我没验证过,交给你们去验证了。

猜你喜欢

转载自blog.csdn.net/qq_36376711/article/details/102788509