打通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. 【转载备忘】PowerDesigner16.5基本使用

    这两天都在设计数据库,使用了powerdesigner进行设计的,然后摸索了好久,本来打算写一篇文章来记述一下的,写了一半,突然发现网上早就有比我写的好的文章了,所有删了之前写的,直接贴出来那个文章的 ...

  2. nginx服务器配置/websocket nginx 配置笔记

    server { listen 80; server_name xxx.com; # add_header '*' ; location /u/ { # 反向代理透传客户端ip proxy_set_h ...

  3. :nth-child(n)

    规定属于其父元素的第二个子元素的每个 p 的背景色: p:nth-child(2) { background:#ff0000; } 1定义和用法 :nth-child(n) 选择器匹配属于其父元素的第 ...

  4. 浅谈 C/S 和 B/S 架构

    概述 在这个信息急剧膨胀的社会,我们不得不说人类正进入一个崭新的时代,那就是信息时代.信息时代的一个主要而显著的特征就是计算机网络的应用.计算机网络从最初的集中式计算,经过了Client/Server ...

  5. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address 

    http://blog.csdn.net/ownfire/article/details/7966645 今天在做LNMP的时候,启动nginx服务,无法开启,导致网页打不开.把服务从起一下发现提示错 ...

  6. Oracle内连接、外连接、右外连接、全外连接小总结

    数据库版本:Oracle 9i 表TESTA,TESTB,TESTC,各有A, B两列 A B 001 10A 002 20A A B 001 10B 003 30B A B 001 10C 004 ...

  7. python与MySQL

    一.python与mysql交互 因版本不同python操作mysql有两个模块,python3不再支持MySQL-python,模块使用都一样: python2.7:MySQL-python pyt ...

  8. linux 中nvme 的中断申请及处理

    /** * struct irq_desc - interrupt descriptor * @irq_data: per irq and chip data passed down to chip ...

  9. Node.js之单利模式

    在iOS中我们经常用到单利模式,这样就能够实现在多处共享同一数据,那么在Node.js中也存在这种模式. 我们知道,Node.js中模块的概念很重要,在写模块的接口的时候,只需要暴露出一个实例对象就能 ...

  10. 阿里java开发手册中命名规约解读之DO/BO/DTO/VO/AO

    前言 在阅读<阿里巴巴Java开发手册>时,看到命名规则中有这样一条 虽然知道这些是根据Java对象的角色所分配名称的后缀,但是没有弄清楚分别是什么意思,日常开发中也没有使用到. 网上查找 ...