打通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 ...
随机推荐
- Jquery 获取对象的几种方式介绍
1.JQuery的核心的一些方法 each(callback) '就像循环 $("Element").length; '元素的个数,是个属性 $("Element&quo ...
- C#编写街道管理系统
项目需求: 一.语言和环境 A.实现语言 C# B.环境要求 Visual Studio 2012 二.功能要求 现使用.NET WinForms技术为居委会开发一个街道管理软件,其中街道管理窗体界面 ...
- Mysql Index extends优化
Innodb通过自动把主键列添加到每个二级索引来扩展它们: CREATE TABLE t1 ( i1 , i2 , d DATE DEFAULT NULL, PRIMARY KEY (i1, i2), ...
- Python3.6.1的安装
Python 3.61的下载和安装,下载地址:https://www.python.org/downloads/ 选择最近的版本,目前为Python3.6.1,下载后直接安装即可 下载包为: 双击安装 ...
- postgres的initdb解析——从一次插件升级失败说起
我们公司基于postgres开发了一款数据库产品,不用说我们对OSS的源码做了改动,并且也集成和自己编写了一些插件.因此,当postgresql和相关插件升级时,我们也需要将升级反应到自己的产品中去, ...
- yarn 淘宝源安装与使用用法
Yarn 淘宝源 yarn config set registry https://registry.npm.taobao.org -g yarn config set sass_binary_sit ...
- python 序列
序列 序列是python中的一种数据结构,这种数据结构根据索引来获取序列中的对象 有6种内建序列类:list,tuple,string,unicode,buffer,xrange. 其中xrange比 ...
- Windows 产品激活状态、密钥等信息查看
目前,大多PC都是预装了微软家的桌面级系统 Windows ,这也算是微软一大得意之作.可是 Windows 产品可不是免费的,是要 $ 的.可能在中国,大多数系统可能是盗版过来的,像当年的雨林木风( ...
- asp.net core如何自定义端口/修改默认端口
.net core运行的默认端口是5000,但是很多时候我们需要自定义端口.有两种方式 写在Program的Main方法里面 添加 .UseUrls() var host = new WebHostB ...
- EL表达式和JSTL核心标签库
1 EL表达式 1.1 EL的概述 EL,全名为Expression Language. 主要作用: ①EL表达式主要用于替换jsp页面中的脚本表达式,以便于从各种类型的web域中检索java对象(某 ...