一个网络管理员应该掌握的 mysql 管理命令



一、 数据库基本管理:



1、 登陆及退出数据库:



数据库system口令过期 数据库管理口令_数据库system口令过期



root 密码设置: pwd@123 ,并在次登陆(使用 mysqladmin :



数据库system口令过期 数据库管理口令_字段_02



数据库system口令过期 数据库管理口令_mysql_03



数据库system口令过期 数据库管理口令_数据库_04



2、 显示数据库结构:



查看数据库中的列表信息 :



命令格式: SHOW DATABASES;



数据库system口令过期 数据库管理口令_数据库system口令过期_05






查看数据库中的数据表信息:



命令格式: SHOW TABLES;



数据库system口令过期 数据库管理口令_数据库_06



查看 mysql user 表对应的文件数据:



数据库system口令过期 数据库管理口令_数据库system口令过期_07






显示数据表的结构:



DESCRIBE [ 数据库名。 ] 表名;



数据库system口令过期 数据库管理口令_数据库_08






3、 数据库的创建与删除:



创建新的数据库:



命令格式: CREATE DATABASE 数据库名



创建一个名为 auth 的数据库;



数据库system口令过期 数据库管理口令_字段_09



这时在 /usr/local/mysql/var/ 下会多出一个 auth 的目录:

数据库system口令过期 数据库管理口令_mysql_10



创建新的数据表:



命令格式: CREATE TABLE 表名 :



auth 数据库中创建 users 的表,包括 user_name user_passwd 两个字段,均为非空字符串,初始密码为 123123, 其中 user_name 字段被设置为关键索引字段( PRIMARY KEY .



数据库system口令过期 数据库管理口令_mysql_11



数据库system口令过期 数据库管理口令_数据库_12



当重复创建时会提示已经存在:



数据库system口令过期 数据库管理口令_数据库system口令过期_13



删除数据表:



命令格式: DROP TABLE [ 数据库 .] 表名



删除数据库 auth 中的表 users



数据库system口令过期 数据库管理口令_mysql_14



删除一个数据库:



命令格式: DROP DATABASE 数据库



删除 auth 数据库:



数据库system口令过期 数据库管理口令_数据库system口令过期_15



4、 数据录入与维护:



插入新数据记录:



命令格式: INSERT INTO 表名(字段 1 ,字段 2 …… VALUES ( 字段 1 ,字段 2 ……)



恢复已经删除的 auth 数据库和表 users

数据库system口令过期 数据库管理口令_数据库system口令过期_16



auth 库下的 users 表中插入 zhangsan lisi 记录,密码为 123 321.



数据库system口令过期 数据库管理口令_数据库system口令过期_17



查询数据记录:



命令格式: SELECT 字段 1 ,字段 2 ……FROM 表名 WHERE 条件表达式



auth 库的 users 表中,查看所有的数据记录:



数据库system口令过期 数据库管理口令_数据库system口令过期_18



auth 库的 users 表中,查询用户名为 zhangsan 的记录,输出用户名和密码字段:



数据库system口令过期 数据库管理口令_字段_19



查表中的前十行的数据:



mysql 没有top的用法。取而代之的是limit



语法为:limit m,n



省略n就可以得到要的效果了。



select * from table1 limit 2








修改数据记录:



命令格式: UPDATE 表名 SET 字段名 1= 字段值 1[, 字段名 2= 字段值 2 ……] WHERE 条件表达式。



将数据库中的用户 lisi 的密码更改为 123456



数据库system口令过期 数据库管理口令_数据库system口令过期_20



更改 root 管理员的密码,更改完后执行 FLUSH PRIVILEGES 语句刷新用户授权信息:



数据库system口令过期 数据库管理口令_数据库_21



删除数据记录:



DELETE FROM 表名 WHERE 条件表达式



auth 库的 users 表中,删除 name 字段的值为 lisi 的记录:



数据库system口令过期 数据库管理口令_mysql_22



为安全起见删除 MySQL 的空用户:



数据库system口令过期 数据库管理口令_数据库system口令过期_23



二、 维护数据库(备份与恢复)及用户权限:



1、 数据库备份:



MySQL 数据库的备份可以使用多种方式,一直是直接备份 /var/local/myslq/var 比较快捷,二是使用 mysqldump 命令备份。使用 mysqldump 命令导出的 SQL 脚本文件可以再不同版本的 MySQL 上使用、当升级时可使用。 mysqldump 可以完成全部数据库、指定数据库、数据表的备份。



命令格式: mysqldump –u 用户名 –p 密码 [options] [ 数据库名 ] [ 表名 ] > / 备份路径 / 备份文件名。



备份整个 auth 数据库:



数据库system口令过期 数据库管理口令_数据库system口令过期_24



备份数据库 mysql 中的 user 表、 host 表:



数据库system口令过期 数据库管理口令_数据库system口令过期_25



备份数据库 MySQL 服务器中的所有数据库内容(添加“ --all-databases ”)当需要备份的数据较多时可使用‘ --opt ’选项进行优化,加快备份速度:



数据库system口令过期 数据库管理口令_字段_26



数据库system口令过期 数据库管理口令_数据库system口令过期_27



2、 数据库恢复:



恢复可以直接使用 mysql 命令导入即可、当然是针对 mysqldump 导出的 sql 脚本:



命令格式: mysql –u root –p [ 数据库名 ] < / 备份路径 / 备份文件名



备份文件 mysql-all.sql 包括所有的(或多个)数据库信息时,执行 mysql 导入时可以不指定数据库名:



数据库system口令过期 数据库管理口令_字段_28



数据库system口令过期 数据库管理口令_字段_29



备份文件只包含单个数据库或单个数据表时,执行 mysql 导入时需要指定目标数据库名称:



数据库system口令过期 数据库管理口令_数据库_30



3、 用户权限设置:



数据库授权:



GRANT 语句是用来创建用户并授权的最常用的语句,当指定的用户不存在时, GRANT 语句将会创建新的用户,否则用于修改用户信息。



命令格式: DRANT 权限列表 ON 数据库名。表名 TO 用户名 @ 来源地址 [ IDENTIFIED BY ‘ 密码 ’]



使用时的注意事项:



权限列表 :使用 ALL 关键字代表全部权限,同时授于多个权限时“,”分割,如:“ select insert update delete ”。



表名 :可使用通配符“ * ”表示指定数据库中的所有表。



用户名 @ 来源地址 :用来设置谁能连接,能从哪里连接。用户名不能使用通配符,但可以使用两个连续的单引号“‘’”表示空字符,匹配任何用户。来源地址表示连接数据库的客户机地址,可使用“ % ”作通配符,匹配某个域内的所有地址(如%@ abc.com ),或使用带掩码标记的网络地址(如 192.168.1.0/24 )。



IDENTFIED BY : 用于设置用户的连接数据库时使用的密码,密码经过加密后存储于 mysql 库的 user 表中,省略时新用户的密码将为空。



授权数据库用户 scf ,允许其从本机连接到 MySQL 服务器,只能查看 mysql 库中的 user 表,使用密码为“ 123 ”进行验证;切换到其他终端,使用 scf 连接数据库、当查看非授权表将被拒绝 :



数据库system口令过期 数据库管理口令_mysql_31



数据库system口令过期 数据库管理口令_数据库system口令过期_32



授权 admin 1 ,允许其从本机连接 MySQL 服务器,对 auth 库中的所有表具有完全的权限,使用密码“ 456 ”验证:



数据库system口令过期 数据库管理口令_字段_33



授权 admin2 ,允许其从网段 192.168.1.0/24 中访问 MySQL 服务器,可以查询 auth 库中的所有表,使用“ 678 ”进行验证。



数据库system口令过期 数据库管理口令_数据库system口令过期_34






授权 admin3 ,允许其从 abc.com 域内的任何主机访问 MySQL 服务器,对 auth 库中的所有表具有 SELECT INSERT 权限,使用“ 321 ”进行验证。



数据库system口令过期 数据库管理口令_数据库system口令过期_35






查看权限:



命令格式: SHOW GRANTS FOR 用户名 @ 域名或 IP



查看数据库用户 root 从服务器本机进行连接时的权限:



数据库system口令过期 数据库管理口令_字段_36



查看数据库用户 admin3 abc.com 域内的客户机访问 MySQL 服务器的权限:



数据库system口令过期 数据库管理口令_数据库_37



撤销权限:



命令格式: REVOKE 权限列表 ON 数据库 . 表名 FROM 用户名 @ 域名或 IP



撤销数据库用户 admin3 abc.com 域访问数据库 auth 的所有权限:



数据库system口令过期 数据库管理口令_数据库system口令过期_38


转载于:https://blog.51cto.com/stlong/1085627