mysql 運維經常使用命令收錄

一、數據庫的登陸與退出mysql

mysql -u root -p -- 使用root身份登錄當前的數據庫
mysql -u root -p -h server0 -- 使用root身份登錄到server0的數據庫
quit --退出數據庫

二、數據庫linux

2.一、建立sql

create databse db1; -- 建立一個數據庫
create database db1 character set utf8; -- 建立並定義字符集

注:數據庫名在linux下大小寫敏感(跟系統有關係)數據庫

2.二、選中bash

use db1; -- 選中一張表

2.三、查看socket

show databases; -- 顯示數據庫
show create database db1 -- 顯式數據庫建立語句

2.四、刪除ide

drop database db1; -- 刪除數據庫

2.五、數據權限設置函數

grant privileges on db1.tablename to user1@10.168.0.8 identified by "password"; -- 按數據庫授全部權限
grant select,insert,update,delete,create temporary tables,execute,show view on `db1`.* to 'user1'@'10.168.0.8'; -- 按數據庫授特定權限
revoke select,insert,update,delete,create temporary tables,execute,show view on `db1`.* from 'user1'@'10.168.0.8'; -- 按數據庫取消特定權限
drop user 'user1'@'10.168.0.8'; -- 刪除特定的用戶
fluse privileges; -- 刷新權限表

2.六、數據庫的備份與還原ui

mysqldump -u username -p database > /backup/file.dump -- 備份數據庫
mysqldump -uroot -p --all-databases | gzip -9 > file.gz -- 備份並壓縮數據庫
mysqldump -u username -p <./file.dump -- 還原數據庫

2.7 密碼變動spa

方法一

mysql -uroot -p
set password for root@localhost = password('123456');

方法二

mysqladmin -uroot -p password "123456"

方法三

use mysql;
update user set password=password('123456') where user='root' and host='localhost';
flush privileges;

方法四

service mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=password('123456') where user='root' and host='localhost';
flush privileges;
quit;
service mysqld restart

三、表

3.一、建立

3.1.一、建立1

create tabale tb1 (
  id int not null,
  name varchar(10)
); -- 建立一張表

3.1.二、建立2

create tabale tb1 (
  id int not null,
  name varchar(10)
)engine=MYISAM default charset=utf8; -- 建立一張表

注:表名在linux下大小寫敏感(跟系統有關係)

3.二、查看

show tables; -- 顯示當前庫中的表
show create table tb1; --顯式建立表的語句
describe tb1; -- 查看錶結構
show create table tb1; -- 查看見表命令
show index from tb2; -- 查看錶包含的索引
show table status like '%tb3%'; -- 查看當前表的狀態

3.三、刪除

drop table tb1
drop table if exists tab1

3.四、修改

alter table tb1 engine=myisam;

四、表的列操做

4.一、增長字段

alter table Persons add column `City` varchar(255) DEFAULT NULL;

4.二、修改字段

alter table Persons modify column `City` varchar(255) DEFAULT NULL comment '城市';

4.三、刪除字段

alter table `Persons` drop column `City`;

五、表的行操做

5.一、查詢

select email from user group by email having count(email) > 1; -- 查詢重複的列
select * from user where email in (
  select email from user group by email having count(u_email) > 1
  ); -- 查詢重複數據列的行

5.二、插入

5.2.一、單行插入

insert into tablename set column1 = value1 , coumn2 = values2...;

5.2.二、多行插入

insert into tablename (column1,column2...) values (value1,value2....);
insert into tablename (column1,column2...) values (value1,value2....),(value1,value2....)...;

5.2.三、簡寫

insert into tablename values (value1,value2....);

注:當知足表中全部列都插入數據時纔可簡寫

5.2.四、插入查詢結果

insert into tablename (column1,column2...) select (column1,column2...) from tablename2 [where condition];

簡寫

insert into tablename select (column1,column2...) from tablename2 [where condition];

5.三、更新

update tablename set column1 = valuesl,column2 = values2... [where condition];

注:不寫where會修改整張表數據(危險操做)

5.四、刪除

delete from tablename [where condition];

注:不寫where會清空整張表數據(危險操做)

六、事務

begin; -- 開啓事務(必選)
-- 這裏作引發數據變動的操做(可選)
rollback; -- 回滾事務(可選)
commit; -- 提交事務(必選)

注:數據InnoDB引擎支持表事務性操做

show variables like '%commit'; -- 查詢事務自動提交設置
set autocommit=0; -- 自動提交關閉(須要手動鍵入commit,執行前全部操做當一個事務處理)
set autocommit=1; -- 自動提交打開(每一個操做一個事務)

七、版本信息查看

7.一、登陸信息查看

mysql -uroot -p

7.二、函數方式查看

mysql -uroot -p
>select @@version;

7.三、狀態信息查看

mysql -uroot -p
>status

7.四、命令行方式查看

mysql -V

7.5 幫助方式查看

mysql --help | grep Distrib

7.六、環境變量方式查看

show variables like 'version';

八、其餘查詢或命令

show engines;  -- 查看引擎
show variables like '%storage_engine%'; -- 數據庫默認引擎
show create table tabName; -- 查詢某表的引擎
show warnings; -- 查詢警告信息
show variables; -- 查詢變量環境
show variables like '%query_cache%'; -- 查詢基於特定關鍵字環境變量
show variables like "max_connections"; -- 查詢最大鏈接數
show processlist; -- 查詢進程列表
kill processID -- 結束查詢的進程

九、QEP

explan select user,host from user\G

十、MySQLAdmin

mysqladmin -u root -p -P 3306  --socket=/tmp/mysql.sock shutdown

不詳盡請參閱:

http://www.w3school.com.cn/sql/index.asp

相關文章
相關標籤/搜索