千家信息网

Linux 操作MySQL常用命令行

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,1、显示数据库mysql> show databases;+----------+| Database |+----------+| mysql|| test |+----------+2 rows
千家信息网最后更新 2025年11月07日Linux 操作MySQL常用命令行

1、显示数据库


  mysql> show databases;

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

  | Database |

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

  | mysql  |

  | test   |

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

  2 rows in set (0.04 sec)

  Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。


  2、显示数据库中的表

  mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )

  Database changed


  mysql> show tables;

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

  | Tables_in_mysql |

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

  | columns_priv  |

  | db       |

  | func      |

  | host      |

  | tables_priv   |

  | user      |

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

  6 rows in set (0.01 sec)


  3、显示数据表的结构:

  describe 表名;


  4、显示表中的记录:

  select * from 表名;

  例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。

  Select * from user;


  5、建库:

  create database 库名;

  例如:创建一个名字位aaa的库

  mysql> create databases aaa;


6、建表:

  use 库名;

  create table 表名 (字段设定列表);

  例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段

  use aaa;

  mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);

  可以用describe命令察看刚建立的表结构。

  mysql> describe name;



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

  | Field | Type  | Null | Key | Default | Extra     |

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

  | id  | int(3) |   | PRI | NULL  | auto_increment |

  | xm  | char(8) | YES |   | NULL  |        |

  | xb  | char(2) | YES |   | NULL  |        |

  | csny | date  | YES |   | NULL  |        |

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


  7、增加记录

  例如:增加几条相关纪录。

  mysql> insert into name values('','张三','男','1971-10-01');

  mysql> insert into name values('','白云','女','1972-05-20');

  可用select命令来验证结果。

  mysql> select * from name;

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

  | id | xm  | xb  | csny    |

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

  | 1 | 张三 | 男  | 1971-10-01 |

  | 2 | 白云 | 女  | 1972-05-20 |

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


  8、修改纪录

  例如:将张三的出生年月改为1971-01-10

  mysql> update name set csny='1971-01-10' where xm='张三';


  9、删除纪录

  例如:删除张三的纪录。

  mysql> delete from name where xm='张三';


  10、删库和删表

  drop database 库名;

  drop table 表名;


增加MySQL用户


  格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:


  mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";

例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。


  例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。


  mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";


  用新增的用户如果登录不了MySQL,在登录时用如下命令:


  mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)


备份与恢复


  1、备份


  例如:将上例创建的aaa库备份到文件back_aaa中


  [root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)

  [root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa


  2、恢复


  [root@test mysql]# mysql -u root -p ccc < back_aaa


用户 数据 数据库 登录 主机 密码 张三 纪录 命令 备份 字段 年月 结构 白云 查询 重要 危险 为所欲为 两个 信息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 代理服务器软件哪个好 自己服务器搭建v2ray 中国第一网络安全员 查询数据库数量小于三 服务器文件泄露原理 网络安全法普通企业 宜昌租房网络安全 高性价比服务器费用 河北党建设计软件开发 数据库系统教程王能斌 网络技术教学反思存在问题 马鞍山系统软件开发定制 服务器的显卡会使用过度吗 数据库结构化 服务器如何应对数据安全 丰台区正规软件开发价目表 当一个腐竹改名重进服务器 山东军工时间频率同步服务器 linnx系统服务器连不上 广东企业云空间软件服务器 网络技术教学反思存在问题 防火墙影响dhcp服务器 服务器的显卡会使用过度吗 软件开发绩效评分标准 嵌入式软件开发工作经历如何写 宙斯盾网络安全隔离卡 说明书 x86和云服务器有什么关系 千峰教育 网络安全答案答案 互联网教育软件开发公司 想开服务器没有钱怎么办
0