当前位置: 澳门新濠3559 > 数据库 > 正文

依照图上执行mysql→ use,3.执行msyql命令无需密码

时间:2019-11-09 00:17来源:数据库
1.命令行进入安装mysql的bin目录下; 2.执行mysqld --skip-grant-tables命令跳过登录验证; 3.执行msyql命令无需密码登录; 4.执行show databases;命令查询所有数据库; 5.使用名称为“mysql”的数据库

1.命令行进入安装mysql的bin目录下;
2.执行mysqld --skip-grant-tables命令跳过登录验证;
3.执行msyql命令无需密码登录;
4.执行show databases;命令查询所有数据库;
5.使用名称为“mysql”的数据库(use mysql;);
6.执行show tables;sql语句查询“mysql”数据库下的所有表;
7.执行select user,host,authentication_string from user;查询用户名和密码;
8.执行update user set password=password('你的密码') where user='root' and host='localhost';语句更改root密码;

当我们忘记mysql数据库密码时我们就无法正常进入数据库,也就无法修改密码,那么这时该怎么修改密码呢,这里教大家一个简单常用修改密码的方式。

MySQL基础操作命令

1、 查看MySQL进程

ps -ef|grep mysql |grep -v grep

2、 查看MySQL端口

ss -lnt | grep 3306

3、 MySQL的启动

mysql -uroot -p

/etc/init.d/mysql

初始化时MySQL的启动方法

mysqld_safe -user=mysql &

4、 关闭数据库

(1)平滑关闭数据库

mysqladmin -uroot -pcentos shutdown

/etc/init.d/mysqld stop

kill -USR2 cat path/pid

(2)强制关闭数据库

killall mysqld

pkill mysqld

killall -9 mysqld

注意:尽量不要野蛮的杀死数据库,生产高并发环境可能会引起数据丢失。

5、 多实例启动与关闭

多实例的启动就是我们写脚本,启动时用mysqld_safe指定配置文件启动,关闭时用mysqadmin

(1)/data/3306/mysql start

(2)/data/3307/mysql stop

6、 登陆mysql方法

(1)单实例登陆

mysq                        #数据库没有配置秘密的登陆方式

mysql -uroot                #数据库没有配置秘密的登陆方式

mysql -uroot -p             #标准的dba命令登陆命令

mysql -uroot -pcentos       #非脚本一般不这样用,密码明文会泄露密码,可以掩饰history功能解决

强制linux不记录敏感历史命令

      #HISTCONTROL=ignorespace

(2)多实例登陆

mysql -uroot -p -S /data/3306/mysql.sock

多实例通过mysql -S命令制定不同的sock文件登陆不同的服务中

(3)远程连接无需制定sock路径

mysql -uroot -p 127.0.0.1 -P3307

7、 更改MySQL数据库登陆提示符

(1)命令行修改登陆提示符,临时生效(进入数据库中)

mysql> prompt u@solindb r:m:s->

(2)配置文件修改登陆提示符

在my.cnf配置文件中[mysql]模板下添加如下内容

[mysql]

prompt=\u@solindb \r:\m:\s->

8、 MySQL的帮助命令help

MySQL中的help和linux的man相似

mysql> help history

mysql> help grant

mysql> help show grants

9、 为管理员root用户设置密码方法

mysqladmin -u root password ‘centos123’ #没有密码的用户设置密码

mysqladmin -u root -p ‘centos123’ password ‘centos456’ -S /data/3306/mysql.sock #适合多实例方式

注:以上为linux命令行

10、修改管理员root密码

    方式一:命令行修改

      mysqladmin -u root -p ‘centos123’ password ‘centos456’

mysqladmin -u root -p ‘centos123’ password ‘centos456’ -S /data/3306/mysql.sock

方式二:SQL语句修改

mysq>UPDATE mysql.user SET password=PASSWORD(“centos123”) WHERE user=’root’;

mysql>flush privileges;

方式三:root密码为空,修改root口令

mysql> set passwprd=passwpef(‘centos123’);

mysql> flush privileges;

注:此法不适合--skip--grant--tables方式修改密码

10、找回丢失的mysql用户密码

(1)   首先停止mysql

/etc/init.d/mysqld stop

(2)   使用 --skip-grant-tables  启动mysql,忽略授权登陆

mysqld_safe --skip-grant-tables --user=mysql &

mysql –uroot –p或mysql #登陆时空密码

注:在启动时加--user=mysql参数,表示忽略授权验证

(3)   修改root密码为新密码

mysql> update mysql.user set password=PASSWORD(“cebtos123”) where user=”root” and host=”locahost”;

mysql> flush privileges;

(4)   重启服务再登陆

mysqladmin -uroot -pcentoos123 shtudown

/tec/init.d/mysqld start

mysql -uroot -p”centos123”

11、多实例MySQL启动修改丢失root密码

    (1)关闭mysql

          killall mysqld

(2)启动时加--skip-grant-table参数

      mysqld_safe --defaults-file=/data/3306/my.cof --skip-grant-table &

      mysql -u root -p -S /data/3306/mysql.sock #登陆时空密码

(3)修改密码的方法

      mysql> UPDATE msql.user SET password=PASSWORD(“centos123”) WHERE user=’root’;

      FLUSH PRIVILEGES;

 

 

12、SQL结构化查询语言

SQL结构化查询语言包括6个部分

(1)数据查询语言(DQL)

DQL全称Data Query Language,其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出,保留字SELECT是DQL用得最多的动词,其他DQL常用的保留字有WHERE,ORDAER BY,GROUP BY 和 HAVING

mysql> select user,host from mysql.user order by user asc; #查询mysql.user的user,host,并升序排列

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

 

mysql> select user,host from mysql.user order by user desc; #查询mysql.user的user,host,并倒序排列

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

(2)数据操作语言(DML)

DML全称Data Manipulation Language,其语句包括INSERT,UPDATE和DELETE。他们分别用于添加,修改和删除表中的行(数据)也称作动作查询语句

mysql> select user,host from mysql.user order by user desc;

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

| root | ::1       |

+------+-----------+

3 rows in set (0.00 sec)

 

mysql> delete from mysql.user where host='::1';   #删除表中host=;;1的(行)数据

Query OK, 1 row affected (0.00 sec)

 

mysql> select user,host from mysql.user order by user desc;

+------+-----------+

| user | host      |

+------+-----------+

| root | localhost |

| root | 127.0.0.1 |

+------+-----------+

2 rows in set (0.00 sec)

(3)事物处理语言(TPL)

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN

TRANSACTION,COMMIT和ROLLBACK

(4)数据控制语言(DCL)

DCL全称(Date Control Language),它的语句通过GRANT或REVOKE获得许可,确定单用户和用户组多数据对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

(5)数据定义语言(DDL)

    DDL全称(Date Definition Language),其语句包括动词CREATE和DROP,在数据库中创建新表或删除表(CREAT TABLE或DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得有关的保留字。字也是动作查询的一部分

(6)指针控制语言(CCL)

全称CURSOR Control Language ,它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作

小结:常见的SQL语句最常见的分类一般就是3类

DDL--数据定义语言(CREATE,ALTER,DROP)

DML--数据操作语言(SELECT,INSERT,DELETE,UPDATE)

DCL--数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

以上方法改密码会出现结束mysql进程后,第二次再进行登录会报错(权限问题),解决方法如下:
1.执行net start mysql 开启mysql数据库服务;
2.执行alter user 'root'@'localhost' identified by '自己的密码'; 修改密码;
3.执行flush privileges;命令刷新权限;
4.执行help contents命令查询修改信息;
5.弹出信息如下,则成功:
You asked for help about help category: "Contents"

(如果图简单快速修改密码的话,直接跳过查询步骤,依照图上执行mysql→ use mysql→ update user set password=password('123456') where user='root' and host='localhost';,密码为123456)

For more information, type 'help <item>', where <item> is one of the following

工具/原料

  • mysql数据库

  • cmd命令行

方法/步骤

  1.  

    打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

    澳门新濠3559 1

  2.  

    打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

    澳门新濠3559 2

  3.  

    输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

    澳门新濠3559 3

  4.  

    然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。

    澳门新濠3559 4

  5.  

    输入show databases;   可以看到所有数据库说明成功登陆。

    澳门新濠3559 5

  6.  

    其中mysql库就是保存用户名的地方。输入 use mysql;   选择mysql数据库。

    澳门新濠3559 6

  7.  

    show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

    澳门新濠3559 7

  8.  

    输入select user,host,password from user;   来查看账户信息。

    澳门新濠3559 8

  9.  

    更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';

    澳门新濠3559 9

  10.  

    再次查看账户信息,select user,host,password from user;   可以看到密码已被修改。

    澳门新濠3559 10

  11.  

    退出命令行,重启mysql数据库,用新密码尝试登录。

    澳门新濠3559 11

  12.  

    澳门新濠3559,测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

    澳门新濠3559 12

  13.  

    我这地方重启数据库之后之所以不带密码任然能够登录是因为我的数据库里存在设无须口令的账户。

    澳门新濠3559 13

    END

categories:

注意事项

  • 注意其中需要重启数据库的几个地方

Account Management

Administration

Compound Statements

Data Definition

Data Manipulation

Data Types

Functions

Functions and Modifiers for Use with GROUP BY

Geographic Features

Help Metadata

Language Structure

Plugins

Procedures

Storage Engines

Table Maintenance

Transactions

User-Defined Functions

Utility

mysql>

编辑:数据库 本文来源:依照图上执行mysql→ use,3.执行msyql命令无需密码

关键词:

  • 上一篇:没有了
  • 下一篇:没有了