打通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的操作权限的更多相关文章

  1. 远程服务器设置Mysql的操作权限

    mysql -u root -p; root用户输入密码登录mysql服务器 select host, user  from mysql.user; 查询数据库的所有用户以前权限的ip   host: ...

  2. Mysql资料 用户权限详解

    目录 一.MySQL权限详解 设置MySQL用户资源限制 用户资源限制执行操作 二.MySQL权限级别介绍 MySQL权限级别 MySQL创建权限 MySQL删除与插入权限 MySQL修改与触发器权限 ...

  3. MySql 用户 及权限操作

    bin/msyql -h host -u user -p    bin/mysql -u mysql -p  本地登录 如无密码按回车直接进入mySql   bin/mysqladmin -u roo ...

  4. 第八章| 2. MySQL数据库|数据操作| 权限管理

    1.数据操作 SQL(结构化查询语言),可以操作关系型数据库 通过sql可以创建.修改账号并控制账号权限:  通过sql可以创建.修改数据库.表:  通过sql可以增删改查数据: 可以通过SQL语句中 ...

  5. MySQL数据库的权限问题操作及基本增删改查操作

    前面我们讲了mysql的基本内容,现在我们详细的了解一下mysql中的具体操作. what's the SQl SQL(Structured Query Language 即结构化查询语言) SQL语 ...

  6. mysql用户与权限操作

    本文所有操作均在mysql8.1下验证,mysql5.x部分语句不适用. 1.创建用户 '; # 创建用户test,密码123456,%表示允许在所有主机登陆 用户表为mysql库小的user表,Ho ...

  7. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  8. CentOS中Mysql常用操作

    安装mysqlyum -y install mysql-server 修改mysql配置vi /etc/my.cnf 这里会有很多需要注意的配置项,后面会有专门的笔记暂时修改一下编码(添加在密码下方) ...

  9. MYSQL远程登录权限设置 ,可以让Navicat远程连接服务器的数据库

    Mysql默认关闭远程登录权限,如下操作允许用户在任意地点登录: 1. 进入mysql,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY ...

随机推荐

  1. WaitForXXX等待无效句柄

    =================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮 ...

  2. zabbix入门知识

    zabbix入门知识 zabbix中文手册 https://www.zabbix.com/documentation/3.4/manual/ 1.zabbix介绍 Zabbix 是一个企业级的分布式开 ...

  3. Java Draw

    简单绘画 直线 矩形 圆 根据矩阵画图 package com.zhoudm; import java.awt.*; import javax.swing.*; public class Draw e ...

  4. CDN页面刷新接口定义[高升]

    一 . 任务 分发 工作流程步骤 1. 合作方按照高升定义的 json 数据格式向高升分发接口 post 任务,高升分发接口会根据接收情况即时反馈接收成功还是失败的结果.二 . 高升 分发 接口 定义 ...

  5. SpringMvc4.x--Spring MVC的常用注解

    //下列代码显示用到的对象public class DemoObj { private Long id; private String name; public DemoObj() { //① sup ...

  6. 【good】在CentOS 6.x上安装GlusterFS

    转发:http://quenywell.com/install-glusterfs-on-centos-6-x/ 本文主要介绍如何在CentOS 6.x上快速安装GlusterFS.GlusterFS ...

  7. python3 第七章 - 循环语句

    为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python中的循环语句有 while for 循环语句的执行过程,如下图: while 循环 Python中while语句的一般形式: ...

  8. Azure VM 防止被入侵

    伴随着开源Linux系统的逐渐盛行,在机器上线之前配置好安全策略至关重要,分享几点有关Azure Linux VM机器的安全建议如下: 1.禁止root账号登录虚拟机,并增加密码的复杂度(大小写字母, ...

  9. Windows核心编程&作业

    1. 作业内核对象 允许将进程组合在一起并创建一个"沙箱"来限制进程能够做什么.我们可以将作业内核对象想象成一个进程容器(即使只有一个进程也具有相当的重要性) 限制包括可以分配的最 ...

  10. GIT工程迁移方法总结

    Git工程迁移方法总结 Git最近准备迁移一下位置,这里采用命令行的方式,做如下操作. 1.git init  初始化git仓库,这个时候发现本地文件夹多了个.git的文件夹. 2.git remot ...