搭环境真的真的会遇到各种问题,甚至试完网上的各种方法还是无法解决。当你绝望的时候,不妨全部清零,重新开始吧!
MySQL Community Server 下载链接
注意选择相应的操作系统,这里用的是Win10,下面两个包,不需要测试配套的选第一个就OK.
点击“No thanks, just start my download” 开始下载
将下载的压缩包解压到适当的位置,建议解压到系统盘C盘以外的地方并且空间尽量充足,以免以后系统崩了数据丢失。这里到F:\MySQL下。
然后是配置系统环境变量(This PC -> Properties -> Advanced system settings -> Environment Variables 我这是英文版系统)
在System Variables 系统变量里新建 MYSQL_HOME变量,这里变量值为F:\MySQL\mysql-8.0.16-winx64\bin 就是刚刚解压的文件夹里的bin目录,全部OK。
在安装前先检查一下电脑内是否还有残余的老版本MySQL,不然很麻烦。
在cmd里 sc query mysql, 如果存在,及标明了SERVICE_NAME:mysql | TYPE:WIN32_OWN_PROCESS...之类的,先删除原服务 sc delete mysql.
接下来在F:\MySQL\mysql-8.0.16-winx64目录下新增记事本命名为my.ini,将以下文本复制保存。
[mysqld]
# 设置3306为服务端端口
port=3306
# 设置mysql的安装目录
basedir=F:\MySQL\mysql-8.0.16-winx64
# 设置mysql的数据的存放目录
datadir=F:\MySQL\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
注意[mysqld] 下的basedir为之前解压包的目录;datadir为数据存放目录,最好在之后配置前先在F:\MySQL下建好该目录。
接下来要以管理员身份启动cmd:简单地说在左下角搜索cmd,右键图标就有“Run as administrator” 以管理员身份运行。判断是否以管理员身份运行可以看启动时的初始位置如果在C:\Windows\system32>就对了。
接着>cd F:\MySQL\mysql-8.0.16-winx64\bin 到bin目录下。
>mysqld --initialize --console 初始化,并将日志打印在控制台上。
这里一定要记着吧root@localhost: ************密码记录下来,之后登录要用的。
>mysqld install
显示“Service successfully installed” 成功。
>mysql -u root -p 回车
输入之前记录的密码。
顺利的话直接搞定。
苦逼的话就是一切折磨的开始。
如果成功了, mysql> alter user root@localhost identified by '******'; 就可以修改密码了。
1. 在第三步mysqld install 之后显示Install/Remove of the Service Denied: 没有用管理员身份运行cmd.
2. 第四部登录后显示Error 2003 Can't connect to MySQL server on 'localhost' (10061): MySQL server 没有启动。
>net start mysql 即可。
有可能仍然不行,那么先到此电脑-> 管理 -> 服务与应用-> 服务, 找到MySQL服务是否启动,没有的话手动启动。
有可能还是不行,检查一下当前的MySQL版本,因为之前装过老的就很麻烦,可能没卸干净。
>mysql -V 或者 mysql --version
看版本是否一致。
可以sc query mysql 看mysql服务的状态STATE是否为 4 RUNNING.
有可能一启动就关闭,那就是配置文件my.ini的问题了,你可能加了skip-grant-tables跳过验证登录,把它删了试试。
3. 还遇到过Access denied for user 'root'@'localhost' (using password: YES)问题,也是检查服务器是否运行吧,网上很多教你跳过验证给my.ini的[mysqld]下加skip-grant-tables的方法,我都试不通,昨天搞了一整天。。。
有可能之前各种尝试已经把电脑配置的有些混乱,于是今早全部删掉重来,终于成功了。