mysql數據庫使用總結
本文主要記錄一些mysql日常使用的命令,供以後查詢。
1.更改root密碼
目錄
mysqladmin -uroot password 'yourpassword'
2.遠程登陸mysql服務器
mysql -uroot -p -h192.168.137.10 -P3306
3.查詢數據庫
show databases;
4.進入某個數據庫
use databasename;
5.列出數據庫中的表
show tables;
6.查看某個表全部字段
desc slow_log;
show create table slow_log\G; (不僅可以顯示錶信息,還可以顯示建表語句)
7.查看當前用戶
select user();
8.查看當前所在數據庫
select database();
9.創建新數據庫(可以指定字符集)
create database db1 charset utf8;
10.創建新表
create table t1 (`id` int(4), `name` char(40));
11.查看數據庫版本
select version();
12.查看數據庫狀態
show status; 當前會話狀態
show global status; 全局數據庫狀態
show slave status\G; 查看主從數據庫狀態信息
13.查詢數據庫參數
show variables;
14.修改數據庫參數
show variables like 'max_connect%';
set global max_connect_errors = 1000;(重啓數據庫會失效,要在配置文件中修改)
15.查看當前數據庫隊列
show processlist;
16.創建普通用戶並授權給某個數據庫
grant all on databasename.* to 'user1'@'localhost' identified by '123456';
17.查詢表數據
select * from mysql.db; //查詢該表中的所有字段
select count(*) from mysql.user; //count(*)表示表中有多少行
select db,user from mysql.db; //查詢表中的多個字段
select * from mysql.db where host like '10.0.%'; //在查詢語句中可以使用萬能匹配 “%”
18.插入一行數據
insert into db1.t1 values (1, 'abc');
19.更改表的某一行數據
update db1.t1 set name='aaa' where id=1;
20.清空表數據
truncate table db1.t1;
21.刪除表
drop table db1.t1;
22.清空數據庫中的所有表(數據庫名是eab12)
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
23.刪除數據庫
drop database db1;
24.數據庫備份
mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql
25.數據庫恢復
mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
26.新建普通用戶
CREATE USER name IDENTIFIED BY 'ssapdrow';
27.更改普通用戶密碼
SET PASSWORD FOR name=PASSWORD('fdddfd');
28.查看name用戶權限
SHOW GRANTS FOR name;
29.腳本中執行mysql命令
mysql -uuser -ppasswd -e"show databases"
echo "show databases"|mysql -uuser -ppassword
以下是執行大量mysql語句採用的方式
mysql -uuser -hhostname -ppasswd <<EOF
mysql語句
EOF
30.修改數據庫名稱
-
如果所有表都是MyISAM類型的話,可以直接修改文件夾的名字。
關閉mysql→把data目錄中的db_name目錄重命名爲new_db_name→開啓mysql -
新建數據庫,在新的數據庫裏重命名所有舊數據庫中的表,再刪除舊的數據庫。具體操作命令如下:創建新的數據庫→重命名數據表名稱→刪除舊的數據庫。
CREATE DATABASE new_db_name; RENAME TABLE db_name.table1 TO new_db_name.table1,db_name.table2 TO new_db_name.table2; DROP DATABASE db_name;
-
利用mysqldump命令從舊的數據導出數據,再導入新數據庫。具體操作命令如下:導出數據→創建新的數據庫→導入數據→刪除舊的數據庫。
mysqldump -u root -p -h ip db_name > db_name_dump.SQL mysql -u root -p -h ip -e “CREATE DATABASE new_db_name” mysql -u root -p -h ip new_db_name < db_name_dump.SQL mysql -u root -p -h ip -e “DROP DATABASE db_name”