1. 程式人生 > >Mysql DBA 高級運維學習筆記-mysql數據庫常用管理應用

Mysql DBA 高級運維學習筆記-mysql數據庫常用管理應用

查看 sts local nes 刪除數據庫 刪除mysql 顯示數據 sys ase

9.1 創建數據庫

命令語法:create database<數據庫名> 註意庫名不能數字開頭
在mysql默認字符集情況下建立數據庫測試如下:

a. 建立一個名為zbf的數據庫

system@ceshi 08:3120->create database zbf;
Query OK, 1 row affected (0.00 sec)
system@ceshi 08:3810->show databases like ‘z%‘;
+---------------+
| Database (z%) |
+---------------+
| zbf   |
+---------------+
1 row in set (0.01 sec)

查看建庫語句

system@ceshi 08:4634->show create database zbf\G
*************************** 1. row ***************************
   Database: zbf
Create Database: CREATE DATABASE `zbf` /*!40100 DEFAULT CHARACTER SET latin1 */ 默認是latin字符集
1 row in set (0.00 sec)

b.建立一個名為zbf_gbk的GBK字符集數據庫

create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

c.創建一個名為zbf_utf8的UTF8數據庫

system@ceshi 09:1523->create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
system@ceshi 09:1616->show create database zbf_utf8\G;
*************************** 1. row ***************************
   Database: zbf_utf8
Create Database: CREATE DATABASE `zbf_utf8` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

d.創建不同字符集格式的數據庫命令

create database zbf; 默認數據庫配置,相當於創建拉丁字符集數據庫。

create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; 創建gbk字符集數據庫

create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 創建utf8字符集數據庫

提示:字符集的不一致是導致數據庫中文內容亂碼的罪魁禍首。

提示:如果編譯的時候指定了特定的字符集,則以後創建對應字符集的數據庫就不需要指定了。如下:

    -DDEFAULT_CHARSET=utf8 \                            #指定默認字符集

    -DDEFAULT_COLLATION=utf8_general_ci \

然後建庫的時候就默認創建即可,create database zbf;

e.那麽企業裏怎麽創建數據庫呢?

1.根據開發的環境確定字符集(建議UTF8)

2.編譯的時候指定字符集。例如:

-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci \

然後建庫的時候默認創建即可,create database zbf。

3.編譯的時候沒有指定字符集或者指定了和程序不同的字符集,如何解決?

指定字符集創建數據庫即可

create database zbf; 默認數據庫配置,相當於創建拉丁字符集數據庫。
create database zbf_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;創建gbk字符集數據庫
create database zbf_utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;創建utf8字符集數據庫

數據庫要支持創建庫的字符集,例如

    -DEXTRA_CHARSETS=gbk,gb2312,utf8,asci或
    -DEXTRA_CHARSETS=all

9.2 顯示數據庫

命令:show databases;

system@ceshi 07:0810->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf|
| zbf_utf8   |
+--------------------+
4   rows in set (0.00 sec)

system@ceshi 07:3122->help show
SHOW DATABASES [like_or_where]

system@ceshi 07:3027->show databases like ‘%zb%‘; %為通配符,匹配所有內容
+-----------------+
| Database (%zb%) |
+-----------------+
| zbf |
| zbf_utf8|
+-----------------+
2   rows in set (0.00 sec)

查看當前數據庫,為空

system@ceshi 07:3537->select database();
+------------+
| database() |
+------------+
| NULL   |
+------------+
1 row in set (0.00 sec)

進入數據庫,在查看一次

system@ceshi 07:3638->use zbf;
Database changed
system@ceshi 07:4001->select database();
+------------+
| database() |
+------------+
| zbf|
+------------+
1   row in set (0.00 sec)

9.3 刪除數據庫

命令:drop database<數據庫名>

例如:刪除名為zbf的數據庫

system@ceshi 07:4005->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf|
| zbf_utf8   |
+--------------------+
4   rows in set (0.00 sec)
system@ceshi 07:4620->drop database zbf;
Query OK, 0 rows affected (0.00 sec)
system@ceshi 07:4635->show databases;
+--------------------+
| Database   |
+--------------------+
| information_schema |
| mysql  |
| zbf_utf8   |
+--------------------+
2   rows in set (0.00 sec)

不會要經常看幫助

system@ceshi 07:5010->help drop database
Name: ‘DROP DATABASE‘
Description:
Syntax:
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

9.4 連接數據庫

命令:use <數據庫名> 相當於linux下的cd切換目錄的命令,use是切換數據庫
例如:

system@ceshi 08:0746->use zbf;
Database changed
system@ceshi 08:0802->select database();
+------------+
| database() |
+------------+
| zbf|
+------------+
1   row in set (0.00 sec)

9.5 查看當前連接的數據庫

system@ceshi 08:0802->select database();相當於linux下的pwd
+------------+
| database() |
+------------+
| zbf|
+------------+
1 row in set (0.00 sec)

查看版本

system@ceshi 08:0938->select version();
+------------+
| version()  |
+------------+
| 5.1.72-log |
+------------+
1 row in set (0.00 sec)

查看當前的用戶

system@ceshi 08:1316->select user();
+------------------+
| user()   |
+------------------+
| system@localhost |
+------------------+
1 row in set (0.00 sec)

查看當前的時間

system@ceshi 08:1327->select now();
+---------------------+
| now()   |
+---------------------+
| 2018-01-18 20:14:43 |
+---------------------+
1   row in set (0.01 sec)

9.6 查看當前數據庫包含的表信息

切換到數據庫裏面去查看

system@ceshi 08:1630->show tables;
Empty set (0.00 sec) 空表,新庫還沒有建表
system@ceshi 08:1742->show tables like ‘user‘;
Empty set (0.00 sec)
system@ceshi 08:2016->show tables from zbf; 查詢指定數據庫的表
Empty set (0.00 sec)
system@ceshi 08:2030->show tables in zbf;
Empty set (0.00 sec)

9.7 刪除mysql系統多余賬號

語法:drop user “user”@”主機域”<=註意引號可以是單引號或雙引號,但是不能不加。

mysql> select user,host from mysql.user;
+------+-----------+
| user | host  |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1   |
|  | localhost |
| root | localhost |
|  | mysql |
| root | mysql |
+------+-----------+
6 rows in set (0.00 sec)
mysql> drop user ‘‘@‘localhost‘; 沒有的部分就用兩個單引號代替即可
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;
+------+-----------+
| user | host  |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1   |
| root | localhost |
|  | mysql |
| root | mysql |
+------+-----------+
5 rows in set (0.00 sec)

註意:如果drop刪除不了(一般是特殊字符或大寫導致的),可以用下面方式刪除。

Delete from mysql.user where user=’root’and host=’mysql’;
Flush privileges;

2018/1/26 23:51:40

Mysql DBA 高級運維學習筆記-mysql數據庫常用管理應用