常用MySQL操作 更改MySQL資料庫root的密碼 將絕對路徑加入環境變數並設置開機啟動 # PATH=$PATH:/usr/local/mysql/bin # echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile # source /et ...
常用MySQL操作
更改MySQL資料庫root的密碼
將絕對路徑加入環境變數並設置開機啟動
# PATH=$PATH:/usr/local/mysql/bin
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile
給root用戶設定密碼
# mysqladmin -uroot password '123456'
root用戶是MySQL自帶的管理員賬戶,預設沒有密碼
連接資料庫
# mysql -uroot -p'123456'
# mysql -uroot -p -h192.168.37.13 -P3306
-h 指定遠程主機的IP
-P 指定遠程主機MySQL的綁定埠,預設都是3306
退出時輸入quit或者exit
MySQL基本操作的常用命令
mysql命令的結尾處需要加一個分號;
查詢當前庫
> show databases;
查詢某個庫的表
切換到某個庫
> use mysql;
列出表
> show tables;
查看某個表的全部欄位
> desc db;
想要顯示更詳細的信息
> show create table db\G;
\G 讓列出來的結果豎排顯示
查看當前用戶
> select user();
查看當前所使用的資料庫
> select database();
創建一個新庫
> create database db1;
創建一個新表
> create table t1 (`id` int(4),`name` char(40));
欄位名id和name需要用反引號括起來
查看當前資料庫的版本
> select version();
查看MySQL的當前狀態
> show status;
中間省略信息
查看MySQL的參數
> show variables;
其中很多參數可以在/etc/my.cnf中定義,有部分參數可以線上編輯
修改MySQL的參數
> show variables like 'max_connect%';
符號%表示通配
> set global max_connect_errors=1000;
臨時修改某些參數,但是重啟服務後修改會失效
> show variables like 'max_connect_errors';
查看當前MySQL伺服器的隊列
> show processlist;
查看當前MySQL的進程,查看是否有鎖表
創建一個普通用戶並授權
> grant all on *.* to user1 identified by '123456';
all表示所有的許可權(如讀、寫、查詢、刪除等操作);兩個*,前者表示所有的資料庫,後者表示所有的表;identified by後面跟密碼,用單引號括起來
> grant all on db1.* to 'user2'@'192.168.37.13' identified by '111222';
給網路其他機器的某個用戶授權,用戶和主機IP之間有符號@
> grant all on db1.* to 'user3'@'%' identified by '231222';
主機IP可以用%替代,表示所有主機
常用的SQL語句
查詢語句
第一種
> select count(*) from mysql.user;
mysql.user表示MySQL庫的user表
count(*)表示表中共有多少行
第二種
> select * from mysql.db;
表示查詢MySQL庫的db表中的所有數據
> select db from mysql.db;
查詢單個欄位
> select db,user from mysql.db;
查詢多個欄位
> select * from mysql.db where host like '192.168.%';
在查詢語句中可以使用萬能匹配符%
插入一行
> insert into db1.t1 values (1,'abc');
更改表的某一行
> update db1.t1 set name='aaa' where id=1;
MySQL表裡存放的數據支持更改某個欄位
清空某個表的數據
> truncate table db1.t1;
不刪除表,只是清空表的數據
刪除表
> drop table db1.t1;
直接刪除表和表內數據
刪除資料庫
> drop database db1;
MySQL資料庫的備份與恢復
# mysqldump -uroot -p'123456' mysql > /tmp/mysql.sql
備份,重定向到一個文本文檔里
# mysql -uroot -p'123456' mysql < /tmp/mysql.sql
恢復,和備份相反