运维必会之MySQL篇

1)DDL(data definition language)数据定义语言(create、alter、drop)
管理基础数据
例如:库、表    #<==运维要熟练,开发也要熟练。
2)DCL(data control language)数据控制语言(grant、revoke、commit、rollback)
用户授权,权限收回,数据提交,回滚等 
3)DML(data manipulation language)数据操作语言(select、insert、delete、update)
针对表里的数据进行操作,记录  

第二章 命令详解

修改数据库密码

库外修改:

1)mysqladmin -uroot -pnfsnobody -S /data/3306/mysql.sock passwordnfsnobody123

库内修改:

1)grant all on *.* to admin@'%' identified by 'nfsnobody123' with grant option; 查看:show grants for admin@'%'; 2)update mysql.user set password = password('nfsnobody123') where user = 'root' and host = 'localhost'; #修改root@localhost密码为nfsnobody123    flush privileges; #刷新统权表

库基础命令

创建数据库 create database <数据库名> 例: mysql> create database test1;

查看数据库 show databases; 例: mysql> show databases; +--------------------------------+ | Database           | +---------------------------------+ | information_schema  | | mysql              | | test1              |#刚才创建的库 +---------------------------------+

查看建库语句 show create database <数据库名>\G 例: mysql> show create database test1\G *************************** 1. row*************************** Database: test1#库名 Create Database: CREATE DATABASE `test1`/*!40100 DEFAULT CHARACTER SET utf8 */  #字符集

 

创建任意已知字符集数据库 create database <数据库名> character set <字符集> collate <全称>; 例: mysql> create database test2 character set gbk collate gbk_chinese_ci; #创建字符集为gbk的库 查看: mysql> show create database test2\G *************************** 1. row *************************** Database: test2 Create Database: CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET gbk */ create database nfsnobody; #<==默认数据库配置,相当于创建拉丁字符集数据库 create database nfsnobody_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; #<==创建gbk字符集数据库 create database nfsnobody_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; #<==创建utf8字符集数据库

 

查询指定数据库 show databases like <条件>; 例:   mysql> show databases like '%te%';        #  “%“  模糊匹配 +-------------------------+ | Database (%te%) | +-------------------------+ | test           | | test1          | | test2          | +-------------------------+

切换数据库 use <数据库名> 例: mysql> use test1; Database changed   mysql> use test2 Database changed

查看当前所在库 select database(); 例: mysql> select database(); +-------------------+ | database()  | +-------------------+ | test2      | +-------------------+

查看库中表 show tables; 例: mysql> show tables; Empty set (0.00 sec)    #表示此库中没有表

查询用户 select user,host from mysql.user; 例: mysql> select user,host from mysql.user; +----------+------------------+ | user| host       | +----------+------------------+ | admin | %         | | root| 127.0.0.1   | | root| ::1        | || d01       | | root| d01       | || localhost   | | root| localhost   | +----------+------------------+

删除用户 drop user <user> <host>; 例: mysql> drop user admin@'%'; 查看: mysql> select user,host from mysql.user; +----------+------------------+ | user| host       | +----------+------------------+ | root| 127.0.0.1   | | root| ::1        | || d01       | | root| d01       | || localhost   | | root| localhost   | +----------+------------------+

***** 当drop无法删除时候 *****

delete from mysql.user where user='<用户>' andhost='<主机>'; 例: mysql> delete from mysql.user whereuser='root' and host='db01'; 查看: mysql> select user,host from mysql.user; +----------+------------------+ | user| host       | +----------+------------------+ | root| 127.0.0.1   | | root| ::1        | || d01       | || localhost   | | root| localhost   | +----------+------------------+

用户授权 grant <权限> on <数据库>.<表> to <用户>@<主机>identified by <密码>; 例: mysql> grant all on *.* touser@'10.0.0.%' identified by '123456';

***** 权限说明 *****

权限 说明
select   查询权限  
insert   插入权限  
update   更新用户、密码权限  
delete   删除权限  
drop   删除权限  
reload   重新读取权限  
shutdown   关闭权限  
process   查询用户进程权限  
file   文件权限  
references   将其它表字段作为外键约束权限  
index   索引权限  
alter   添加,删除索引权限  
showdatabases   查看数据库权限  
super   超级管理员权限  
createtemporary tables   创建临时表权限  
locktables   锁表权限  
execute   执行权限  
replicationslave   主从同步权限  
replicationclient   复制客户端权限  
createview   创建查看权限  
showview   查看创建查看权限  
createroutine   所有创建权限  
alterroutine   所有增加、删除权限  
createuser   创建用户权限  
event   事件权限  
trigger   触发权限  
createtablespace   创建表空间权限  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzyzj.html