最近换了一个电脑,重新安装各种环境,但是安装MySQL的时候遇到了一些问题,具体如下:
一、Windows 上安装
来自菜鸟教程mysql安装说明:http://www.runoob.com/mysql/mysql-install.html
链接地址https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip下载 zip 包。
最新版本可以在官网https://dev.mysql.com/downloads/mysql/中下载中查看。
点击 Download 按钮进入下载页面,点击下图中的 No thanks, just start my download. 就可立即下载:
接下来我们需要配置下 MySQL 的配置文件
打开刚刚解压的文件夹C:\web\mysql-8.0.11,在该文件夹下创建my.ini配置文件,编辑my.ini配置以下基本信息:
以管理员身份打开 cmd 命令行工具(否则可能无法安装),切换bin目录:
cd C:\web\mysql-8.0.11\bin
初始化数据库:
mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码(随机密码),如:
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
APWCY5ws&hjQ就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
mysqld install
若是输入上面命令后提示:Install/Remove of the Service Denied,请切换管理员身份,就是上面提到的用管理员身份运行。
启动输入以下命令即可:
net start mysql
注意: 在 5.7 需要初始化 data 目录:
cd C:\web\mysql-8.0.11\bin
mysqld --initialize-insecure
初始化后再运行 net start mysql 即可启动 mysql。
登录 MySQL
当 MySQL 服务已经运行时, 我们可以通过 MySQL 自带的客户端工具登录到 MySQL 数据库中, 首先打开命令提示符, 输入以下格式的命名:
mysql -h 主机名 -u 用户名 -p
参数说明:
-h: 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
-u: 登录的用户名;
-p: 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。
如果我们要登录本机的 MySQL 数据库,只需要输入以下命令即可:
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welecome to the MySQL monitor... 的提示语。
然后命令提示符会一直以mysq>加一个闪烁的光标等待命令的输入, 输入exit或quit退出登录。
二、问题:
1、就是mysqld install时安装不成功,提示Install/Remove of the Service Denied
解决:以管理员身份操作,提示Service successfully install代表安装成功
2、net start mysql提示服务名无效
net start +服务名,启动的是win下注册的服务,主要是上面1安装不成功引起的
正常
3、mysql -uroot -p登陆不成功
(1)提示Access denied for user 'root'@'localhost' (using password: YES)
上网查到说:在my.ini文件中加入skip-grant-tables
之后执行:mysqld --defaults-file="D:\MySQL\my.ini" --console --skip-grant-tables(路径改为自己的)
执行后有重启mysql并重新登陆mysql,此时提示换了(2)Can't connect to MySQL server on localhost (10061)
去控制面板-》系统和安全-》管理工具-》服务中查看MySQL服务,每次启动都会自动停止,所以导致上面提示连接不上,到此设置skip-grant-tables设置可以关掉了,会影响MySQL服务运行。
又在网上查了查解决步骤如下:
环境变量配置:
去控制面板-》系统和安全-》系统-》高级系统设置-》环境变量-》编辑:在Path上加入mysql目录下bin目录的地址即可
之后删除生成的data目录,执行:mysqld --initialize --user=root --console重新生成data目录及随机密码
再次net start mysql之后在mysql -uroot -p重新登陆就成功了
登陆成功后修改密码:下面修改名吗命令,请看mysql版本使用哪个
net start mysql
net stop mysql