mysql自学基础

mysql

 

查看库列表 >show databases;

使用库 >use mysql;

查看库中的数据表信息 >show tables;

显示数据表结构 >describle mysql.user;

查看用户 >describe user;

 

Create

 

创建新库名字为auth >create database auth;

使用这个数据库 >use auth;

创建表 >create table users(user_name char(20),user_passwd char(30) default",primary key(user_name));

 

Drop

 

>drop table auth.users; 删除auth库的users

>drop database auth; 删除auth数据库

 

Insert

 

格式:insert into 表明(字段1,字段2……)values(字段1的值,字段2的值)

示例:use auth;

desc users;

>inseret into users(user_name,user_passwd)values('zhangsan',password('123123'));

>insert into users values('lisi',password('123456'));

>select * from users;

 

Update

 

>update mysql.user set password=password('123123')where user='root';

>flush privileges;

 

delete

 

>delete from auth.users where user_name='lisi';

>select * from auth.users;

 

Select

 

>select * from auth.users;

>select user_name from auth.users;

>select * from auth.users where user_name='zhangsan'

Grant

 

>grant all on *.* to root@192.168.1.1 IDENTIFIED BY 666666;

>GRANT select ON impoyee_salary.* TO amber@localhost IDENTIDIED BY 123456;

>flush privileges;

 

查看用户权限

>show grants;

>show grants for amber@192.168.1.108;

 

撤销用户权限

>revoke select on imployee_salary.* from amber@localhost;

 

备份操作

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

>musqldump -u root -p mysql user > mysql-user.sql

 

创建唯一索引

>create index <索引的名字> on <表名>                   索引名字格式  _index

>show index from 表名 \G或者 show keys from 表名 \G

 

删除索引

>drop index 索引名 on 表名

 

事务性特点

 

原子性

一致性

隔离性

持久性

 

begin 开始 commit 提交 rollback 回滚

 

>use auth; #使用库

>begin;   #事物开始

>insert into users values();

>commit;  #事物结束并提交

>select * from users;

 

回滚(begin开始的所有命令都被撤销)

>begin;

>update users set user_passwd=pwssword(‘’)where user_name=lisi;

>rollback;

>select * from users;

自动提交与非自动提交

 

>set autocommit = 0; #=0为禁止

>use auth;

>insert into users values(内容)

>commit; #提交前面的sql语句

 

>set autocommit = 1;

>use auth;

>insert into users values (内容);

>select * from users;

 

mysql 数据账号管理

 

>select user,host,password from mysql.user; 查看

>create user admin@% identified by 123123;     创建用户

>drop user admin@%; 删除用户

 

mysql用户授权

 

>grant all on *.* to amber@% identified by 123123;

>grant select on mysql.user to amber@192.168.1.% identified by 123123;

>show grants; 查看授权所有用户

>show grants for amber@%; 查看授权单一用户

撤销权限

>revoke drop,create on *.* from amber@%; 撤销 drop,create权限

>revoke all on *.* from amber@%; 撤销所有权限

 

mysql日志管理

日志路径:mysql/data/mysql_error.log mysql/data/mysql_general.log

二进制日志 用来恢复数据库 慢查询日志 用来查找执行时间长的查询

/etc/my.cnf下添加【mysqld/nlong_query_time=5/nlog-slow-query=mysql_slow.log

 

mysql备份

对所有库进行备份

mysqldump -uroot -p123123 --opt --all-databases >/backup/mysql_all.$(date +%Y%m%d).sql

--opt 加快备份速度

 

对多个库进行备份

mysqldump -uroot -p123123 --databases mysql auth >/backup/mysql+auth.$(date +%Y%m%d).sql

对表进行备份

mysqldump -uroot -p123123 auth user >/backup/auth_user-$(date +%Y%m%d).sql

 

备份恢复

登录mysql数据库

>source /backup/mysql_all.2018.4.1sql;

不登录备份恢复

mysql -uroot -p123123 -e drop database auth;

mysql -uroot -p123123 < /backup/mysql_all.2018.4.1sql;

 

增量备份

mysqladmin -uroot -p 123123 flush-logs #日志回滚

增量恢复

mysqlbinlog --no-defaults /m  ysql_bak/mysql-bin.00000x | mysql -uroot -p123123

基于时间点的恢复

先查看二进制日志

mysqlbinlog --no-defaults /mysql_bak/mysql-bin.0000006 #里面有时间相关记录

恢复

mysqlbinlog --no-defaults --start-datetime=2016-05-03 15:15:15 /mysql_bak/mysql-bin.0000006|mysql -uroot -p123123

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值