打通MySQL的操作权限
打通MySQL的操作权限
前面已经总结了《XAMPP的配置与使用》,虽然可以直接通过GUI控制面板去启动MySQL服务,但是有些相关的操作则需要在Windows中的CMD命令窗口中去对MySQL数据库进行一些操作,而在此过程中遇到了一些连接权限与密码设置方面的问题,在这里做一个归纳总结。
1. MySQL服务的启动
cmd中输入net start mysql 提示:服务名无效 请键入NET HELPING 2185以获得更多的帮助
进入MySQL的bin目录,并在bin目录打开命令行窗口,在命令行窗口输入:mysqld --install,回车,提示:Service successfully installed。表示安装MySQL服务成功,命令行窗口输入:net start mysql ,可以正常启动。

这样在XAMPP的控制面板中会发现MySQL的左侧方框中会多一个绿色的 √ ,此外,在cmd命令行中启动或关闭mysql服务,在XAMPP的控制面板中都会有实时的关联和log提示。

2. 本地环境变量的配置
在cmd中输入mysql时输出 ‘mysql’不是内部或外部命令,也不是可运行的程序或批处理文件。

这是由于没有配置本地环境变量所造成的。添加的方法:计算机右键属性,高级系统设置,环境变量,找到用户变量PATH进行编辑,添加 ;F:\xampp\mysql\bin 后点确定。重启cmd,再次输入mysql后回车即可进入mysql。此外,还可通过命令行进入mysql安装目录中的bin目录(F:\xampp\mysql\bin)去执行语句,一样可行。

3. 登录mysql数据库
解决了环境变量问题,通常情况下,在DOS命令窗口输入 mysql -hlocalhost -uroot -p 回车 进入mysql数据库。 注意,有些系统环境下需要输入 mysql -h localhost -u root -p 。其中-h表示服务器名,localhost表示本地;-u为数据库用户名,root是mysql默认用户名;-p为密码,如果设置了密码,可直接在-p后链接输入,如:-p123456,由于安装XAMPP时默认没有设置密码,在显示Enter password时,直接回车即可。

这样表示已经进入mysql数据库,并且可以进行相关操作。输入show databases; 可以显示数据库(mysql数据库中的命令必须以分号结尾)

如果要退出mysql数据库,输入 exit; 回车。

4. 修改mysql的登录密码
【方法一】set password
密码为空,总归不太好,于是想要修改密码为123456,连接mysql数据库后,输入命令 set password for root@localhost = password('123456');

查看修改情况,输入 Select User.Password from mysql.user;

第一个不为空的Password是刚刚root用户所重设的密码123456,这里是进行了一定的加密处理的。
退出登录之后再次输入 mysql -hlocalhost -uroot -p 登录,

第一次直接回车,结果报错,第二次输入123456后回车,成功进入mysql。
【方法二】mysqladmin
修改密码的第二种方法——用mysqladmin
a. 打开终端win+r输入cmd回车即可打开;
b. 修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -p123456 password
上面例子将用户root原来的密码123456改为新密码空,这里只需连续两次回车即可。

再把密码改为654321,然后再改为123456,注意,必须是在Windows\System32路径下执行这条语句。

【方法三】UPDATE方式
还有一种方法——用UPDATE直接编辑user表,
a. 首先登录MySQL。
b. 连接权限数据库: use mysql; 。
c. 改密码:update user set password=password("123456") where user="root";(别忘了最后加分号) 。
d. 刷新权限(必须步骤):flush privileges;

重新登录,输入新密码123456就ok了;
5. 忘记root密码
如果忘记了root密码,可以通过以下步骤解决,
1)关闭正在运行的MySQL服务。
2)打开DOS窗口,转到mysql\bin目录。
3) 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)
解决以上Warning的办法是:
step1: 进入cmd模式,输入命令:net stop mysql 停止开机启动的 mysql services(如果是手动启动可以跳过Step1,我的pc是开机启动),我电脑上的mysql services名字是mysql,你的名字可能不一样!, net stop xxx (xxx代表你的mysql services名字)

step2: 找到mysql安装目录下的 my.ini文件,在[mysqld]下方添加:
explicit_defaults_for_timestamp = true
添加好后像这样:
[mysqld]
explicit_defaults_for_timestamp = true
step3: 现在开始使用mysqld命令手动启动mysql services,既然是手动启动,肯定要为该命令指定启动配置文件my.ini的存放路径,我的路径是:E:\xampp\mysql
在cmd模式下输入:mysqld --defaults-file="E:\xampp\mysql\my.ini" --skip-grant-tables

ok,这个问题解决了。接下来继续上面中断的步骤:

4)再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >

5)连接权限数据库: use mysql; 。
6)改密码:update user set password=password("root") where user="root";(别忘了最后加分号) ,或者 UPDATE mysql.user SET Password=PASSWORD("newpassword") WHERE User='root' and Host='localhost';
7)刷新权限(加载权限表,让新密码生效!必须步骤):flush privileges;
8)退出 quit。
重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了。
6. 结束语
以前经常遇到这些细节问题,后来又会因为环境异动再次遇到哪些琐碎的且当时本以为不会再遇到的问题,久而久之,发现这样循环往复,每次都要重新查找搜索一番,浪费了不少时间,这让我想起了一句古语——
天下难事必作于易,天下大事必作于细。 ——《道德经》
打通MySQL的操作权限的更多相关文章
- 远程服务器设置Mysql的操作权限
mysql -u root -p; root用户输入密码登录mysql服务器 select host, user from mysql.user; 查询数据库的所有用户以前权限的ip host: ...
- Mysql资料 用户权限详解
目录 一.MySQL权限详解 设置MySQL用户资源限制 用户资源限制执行操作 二.MySQL权限级别介绍 MySQL权限级别 MySQL创建权限 MySQL删除与插入权限 MySQL修改与触发器权限 ...
- MySql 用户 及权限操作
bin/msyql -h host -u user -p bin/mysql -u mysql -p 本地登录 如无密码按回车直接进入mySql bin/mysqladmin -u roo ...
- 第八章| 2. MySQL数据库|数据操作| 权限管理
1.数据操作 SQL(结构化查询语言),可以操作关系型数据库 通过sql可以创建.修改账号并控制账号权限: 通过sql可以创建.修改数据库.表: 通过sql可以增删改查数据: 可以通过SQL语句中 ...
- MySQL数据库的权限问题操作及基本增删改查操作
前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...
- mysql用户与权限操作
本文所有操作均在mysql8.1下验证,mysql5.x部分语句不适用. 1.创建用户 '; # 创建用户test,密码123456,%表示允许在所有主机登陆 用户表为mysql库小的user表,Ho ...
- MYSQL基础操作
MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...
- CentOS中Mysql常用操作
安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下方) ...
- MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库
Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...
随机推荐
- tomcat实现热部署的配置
p { margin-bottom: 0.25cm; direction: ltr; color: rgb(0, 0, 0); line-height: 120%; text-align: justi ...
- java if与for循环的题
//打印一个4*5的空心长方形 /* for (int i = 0; i < 5;i++ ) { if (i == 0 | i == 4) { ...
- ngRx 官方示例分析 - 5. components
组件通过标准的 Input 和 Output 进行操作,并不直接访问 store. /app/components/book-authors.ts import { Component, Input ...
- asp.net -mvc框架复习(1)-ASP.NET网站开发概述
1.网站开发的基本步骤: 2.网站开发的需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML .CSS+DIV 页面特效:JavaScript.jQery (2)OOP编程核心公共技能 C ...
- PUTTY无法远程连接服务器故障解决[转]
对于一个刚刚了解putty工具的新手来说,在putty工具使用中有时出现了问题而无法解决.今天就来介绍怎么解决putty无法远程连接服务器的故障. 用putty远程连接服务器时,提示错误 server ...
- [Git] git log命令
这是git的新系列,不常用的命令和其参数比较容易记不住,干脆将常用的记录下来,日后查查方便也是好的,一篇文章一个git命令,长短根据命令有所不同. git log命令主要用于查看提交历史,同时根据添加 ...
- 二叉查找树C++实现
二分查找树特点: (1) 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值: (2) 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值: (3) 任意节点的左.右子树 ...
- Linux指令--traceroute,netstat,ss
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...
- POI--HSSFSheet类
用POI来作成一个Sheet,可以用「HSSFSheet」类,该类构造器如下: 新建Sheet 从构造器可以看出,虽然它有两个构建器,但都是protected的,所以要新建Sheet,只能通过Work ...
- MyEclipse中导出javadoc文档
1.选中要生成文档的类或者项目→File→Export→Java→Javadoc. 2.在Javadoc command中选择JDK下对应的javadoc.exe:Select types for w ...