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
mysql自學完整 MySQL自學篇 MySQL
建立資料表 1 建立資料表的語法格式 資料表屬於資料庫,在建立資料表之前要使用 use 指定操作是在哪個資料庫中進行的,如果沒有選擇資料庫,將會出現 no database selected 的錯誤 建立資料表的語句為 create table 語法規則為 create table 欄位1 資料型別...
mysql自學完整 MySQL自學篇(八)
2 字串函式 1 計算字串字元數的函式和字串長度的函式 char length str 返回字串str所包含的字元個數。乙個多位元組字元字元算作乙個單字元 select char length date char length egg char length 中國 2 合併字串函式concat s1...
MySQL自學筆記1 基礎知識
使用mysql 5.5以及mysql自帶命令客戶端 層次結構 資料庫伺服器 n多資料庫 n多表 行與列 大概步驟 1.建立 連線資料庫伺服器 1.建立庫 1.建立表 1.資料庫操作,比如增刪改查等 刪除表 drop table tablename 修改表名 rename table oldname ...