MYSQL命令练习及跳过数据库密码进行密码重新设置
2、看当前所有数据库:show databases;
3、进入mysql数据库:use mysql;
4、查看mysql数据库中所有的表:show tables;
5、查看user表中的数据:5以下版本使用select Host, User,Password from user;5及5以上版本使用mysql> select Host,User,authentication_string from user;
6、修改user表中的Host:update user set Host='%' where User='root';
7、刷新:flush privileges;
8、向表中插入数据:insert into 表名(user_name,user_passwd) values('zhangsan',pasword('123'));
9、创建:create table 表名 (字符1 值,字符2 值,primary key(搜索主键));
10、查看数据库服务的基本信息:status;
启动Mysql服务:systemctl start nysqld
检测端口:3306
退出数据库:exit
mysql> exit
取消命令执行:ctrl+c
查看当前连接用户:select user();
mysql> select user();
+----------------+
| user() |
+----------------+
| root@localhost | #当前用户为root用户
+----------------+
1 row in set (0.00 sec)
查看数据库服务的基本信息:status;
mysql>status;
--------------
mysql Ver 14.14 Distrib 5.7.24, for linux-glibc2.12 (x86_64) using EditLine wrapper
Connection id: 2 #连接的ID号
Current database: #目前用的数据库,目前没有进入任何数据库内
Current user: root@localhost #连接的用户为root
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.7.24 MySQL Community Server (GPL) #用的版本为MYSQL5.7.24版本
Protocol version: 10
Connection: Localhost via UNIX socket #连接方式
Server characterset: latin1
Db characterset: latin1
Client characterset: utf8 #字符集
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock #sock文件存放位置
Uptime: 40 min 37 sec #启动的时间
Threads: 1 Questions: 7 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.002
--------------
查看当前服务器有哪儿些数据库:show databases;
进入数据库:use 数据库名
mysql> use sys
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed #此时已在sys数据库中
查看sys数据库中的数据表:show tables;
mysql> show tables;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
|user|
+---------------------------+
31 rows in set (0.01 sec)
显示数据表的结构(字段(列)): describe 表名;describe也可以简写为desc
describe [数据库名.]表名:不在数据库内时
describe 表名:在数据库内时
mysql> describe user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null(值是否为空) | Key(主键) | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
char表示字符,no表示不
| User | char(32) | NO | PRI | | |
| Select_priv | enum('N','Y') | NO | | N | |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.00 sec)
创建新的数据库(先库后表):create database 数据库名
mysql> create database liuxiang;
Query OK, 1 row affected (0.01 sec)
创建新的数据表:create table 表名(字段1名称 类型,字段2名称 类型,primary key(字段名称);
mysql> use liuxiang; #先进入数据库内才能创建数据表
mysql> create table liuxiangs(user_name char(16) not null, user_passwd char(48) default '', primary key(user_name));
Query OK, 0 rows affected (0.01 sec)
mysql> show tables; #查看数据表
+--------------------+
| Tables_in_liuxiang |
+--------------------+
| liuxiangs |
+--------------------+
1 row in set (0.01 sec)
mysql> desc liuxiangs; #查看数据表结构
+-------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+-------+
| user_name | char(18) | NO | PRI | NULL | |
| user_passwd | char(48) | YES | | | |
+-------------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
删除数据表:drop table 数据库名.表名;
删除数据库:drop database 数据库名;
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
向数据表中插入新的数据记录:insert into 表名(字段1,字段2) valuse(字段1的值,字段2的值); #同一个用户不能输入两次mima
mysql> insert into liuxiangs(user_name,user_passwd) values('zhangsan','123456'); #铭文密码
Query OK, 1 row affected (0.00 sec)
mysql> insert into liuxiangs(user_name,user_passwd) values('lisi',password('123456')); #加密密码
Query OK, 1 row affected, 1 warning (0.01 sec)
查看数据表中用户的信息:select * from 数据表名;
mysql> select *from liuxiangs;
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| zhangsan | 123456 |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
从数据表中查找符合条件的数据记录:select 字段名1,字段2名,from 表名 where 条件表达式;
mysql> select user_name,user_passwd from liuxiangs where user_name='zhangsan';
+-----------+-------------+
| user_name | user_passwd |
+-----------+-------------+
| zhangsan | 123456 |
+-----------+-------------+
1 row in set (0.01 sec)
修改、更新数据表中的数据记录:update 表名 set 字段名1=新值,字段名2=新值2 where 条件表达式; #update更新的意思
mysql> update liuxiangs set user_passwd=password('123456') where user_name='zhangsan';
mysql> select *from liuxiangs;
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| zhangsan | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
删除数据表中指定的数据记录:delete from 表名 where user_name='zhangsan';
mysql> delete from liuxiangs where user_name='zhangsan'; #删除用户zhangsan1
Query OK, 1 row affected (0.00 sec)
mysql> select * from liuxiangs; #查看数据表中的信息
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------+-------------------------------------------+
1 row in set (0.00 sec)
[root@localhost ~]# mysql -uroot -p123456
root管理员下操作如下:
给指定用户授权(授权用户不存在时会自动创建):被授权的用户可以管理数据库
mysql>
mysql> create user 'lcx'@'%' identified by '123123';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'lcx'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 'teacher'@'localhost'; #查看teacher拥有什么权限
+-------------------------------------------------------+
| Grants for teacher@localhost |
+-------------------------------------------------------+
| GRANT USAGE ON *.* TO 'teacher'@'localhost' |
| GRANT SELECT ON `liuxiang`.* TO 'teacher'@'localhost' |
+-------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> select Host,User,authentication_string from user;
+-----------+---------------+-------------------------------------------+
| Host | User | authentication_string |
+-----------+---------------+-------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| localhost | teacher | *A4B6157319038724E3560894F7F932C8886EBFCF |
+-----------+---------------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql> show databases; #root管理员视角
+--------------------+
| Database |
+--------------------+
| information_schema |
| cloud |
| liuxiang |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)
[root@localhost ~]# mysql -uteacher -p1234
teacher普通用户:操作如下
mysql> show databases; #授权用户视角
+--------------------+
| Database |
+--------------------+
| information_schema |
| liuxiang |
+--------------------+
2 rows in set (0.00 sec)
在teacher用户模式下只能查看数据库内容不能进行修改,因为权限不够
撤掉用户权限 :REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@域名或者IP地址
mysql> revoke select on liuxiang.* from 'teacher'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 'teacher'@'localhost';
+---------------------------------------------+
| Grants for teacher@localhost |
+---------------------------------------------+
| GRANT USAGE ON *.* TO 'teacher'@'localhost' |
+---------------------------------------------+
1 row in set (0.00 sec)
====================================================================================
在数据库中修改root密码:
mysql> use mysql; #进入mysql数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set authentication_string=password('123456') where user='root'; #修改root密码为123456
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges; #刷新授权表
Query OK, 0 rows affected (0.00 sec)
mysql> exit #exit退出
此时root密码修改成功
==============================================================================================
跳过数据库密码进行密码重新设置
root@host51 ~]# vim /etc/my.cnf
[mysqld]
skip-grant-tables #添加此行,该行的意思是跳过授权
[root@host51 ~]# systemctl restart mysqld
[root@host51 ~]# /etc/init.d/mysqld restart
[root@host51 ~]# mysql
mysql> use mysql;
Database changed
mysql> update user set authentication_string=password('123456') where user='root';
mysql> flush privileges;
7,退出
mysql> quit
在更改密码之后需要恢复之前的设置
root@host51 ~]# vim /etc/my.cnf
[mysqld]
#skip-grant-tables
[root@host51 ~]# systemctl restart mysqld
[root@host51 ~]# mysql -uroot -p'新密码'
mysql>alter user root@"localhost" identified by "123456";
Query OK, 1 row affected, 1 warning (0.06 sec)
6,刷新权限表
mysql> flush privileges;
7,退出
mysql> quit
4、 重启服务:
执行:
killall mysqld (杀死mysql进程)
/etc/init.d/mysql start (启动mysql服务
MYSQL命令练习及跳过数据库密码进行密码重新设置的更多相关文章
- Mysql命令行备份与还原数据库操作实例
无论是Windows还是Linux,都可以通过如下命令行形式备份Mysql数据库 备份命令: 在windows的DOS窗口命令行或linux的shell命令行,假设需要备份的数据库是advanced: ...
- 使用MySQL命令行备份和恢复数据库
导出数据库: 1.windows下cmd打开命令行 2.cd 到MySQL的安装目录的bin 目录,如果bin目录添加到环境变量中不需要切换到bin目录 3.导出数据库:mysqldump -u 用户 ...
- Mysql命令drop database:删除数据库
drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...
- (笔记)Mysql命令drop database:删除数据库
drop命令用于删除数据库. drop命令格式:drop database <数据库名>; 例如,删除名为 xhkdb的数据库:mysql> drop database xhkdb; ...
- MySQL命令行导出、导入数据库,备份数据库表
MySQL导出数据库/数据表 1.首先,将你MySQL安装目录,例如C:\Program Files\MySQL\MySQL Server 5.7\bin添加到你的系统环境变量PATH中: 2.导出数 ...
- 使用Mysql命令一次性备份多个数据库(所有数据库)
通过CMD命令窗口 1.找到Mysql的安装目录\mysql\BIN目录 2. 输入mysqldump --all-databases -h127.0.0.1 -uroot -p123456 > ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
- linux下mysql命令大全
1.linux下启动mysql的命令: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: mys ...
- 如何使用mysql命令行
现在向大家介绍mysql命令行下,从数据库的建立到表数据的删除全过程,希望对网友有所帮助 方法/步骤 1.登陆mysql 打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令 mys ...
随机推荐
- 新建表需要原表的数据,mysql 如何把查询到的结果插入到新表中
项目运用情景:新建表需要原表的数据 1. 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表 ...
- Python_初识面向对象
楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗 ...
- php抛出异常Exception和\Exception使用区别
没有定义命名空间的情况下 , Exception和\Exception 均可正常执行抛出异常;定义命名空间的情况 , Exception 会在定义的命名空间下找对应的异常类 , 如果没有定义异常类 , ...
- Oracle使用记录
1.连接数据库的方式 sqlplus system/system@127.0.0.1:1521/orcl #远程用户名密码连接 sqlplus dbsnmp/oracle; #本地用户名密码连接 sq ...
- 微信小程序 scroll-view 左右横向滑动没有效果(无法滑动)问题
小程序组件 scroll-view 中分别有上下竖向滑动和左右横向滑动之分,在这次项目中刚好需要用到横向滑动,但在测试过程中发现横向滑动没有了效果(静止在那里没移动过),经调试发现: 1.scroll ...
- 基于语音识别、音文同步、图像OCR的字幕解决方案HtwMedia介绍
背景介绍 俗话说,“好记性不如乱笔头”,这充分说明了文字归档的重要性.如今随着微信.抖音等移动端app的使用越来越广,人们生产音.视频内容也越来越便捷.而相比语音和视频而言,文字具有易存档.易检索.易 ...
- MySQL-THINKPHP 商城系统二 商品模块的展示
上回已经说到,商品被分为spu商品和sku商品 , ------------------------------------------------------------------------- ...
- Unity2018破解版安装教程(windows)
最近啊,在研究一些游戏的搭建与算法的创新,所以学习使用unity,下面来跟大家分享Unity2018的安装过程. 1.下载安装包(我的下载地址:链接:https://pan.baidu.com/s/1 ...
- ColorPix——到目前为止最好用的屏幕取色器
分享一个颜色取色器网页.PPT.EXCEL配色不再烦恼 简单易用 大家做商业.企业报告的时候是不是经常遇到要调色的困扰呢?PPT.EXCEL等颜色选取会对报告有质的影响!!要更专业要更有美感!给大家分 ...
- honoka和格点三角形(牛客寒假训练营day1)
可以把面积为1的好三角形分成两类分开统计:两条边和两个坐标轴平行:只有一条边和某个坐标轴平行. 对于第一种情况,一定是1*2或者2*1的形式,一个1*2的矩形中含有4个不同的三角形.总数是4*((n- ...