MySQL---常用管理命令列
阿新 • • 發佈:2018-12-25
-
客戶端連線MySQL服務
C:\WINDOWS\system32> mysql -uroot -p 連線本地MySQL伺服器 C:\WINDOWS\system32> mysql -uroot -p -h11.234.56.34 連線目標MySQL伺服器
•mysql –uroot –p 回車,錄入mysql的root使用者密碼
-u代表mysql的使用者名稱,可以不加空格之間填寫連線使用者-uroot
-p代表使用者名稱對應的密碼,可以直接在-p後面寫密碼,但是旁邊有人能看到
mysql -uroot -poracle
-p後面可以不寫密碼,直接回車後會提醒錄入密碼,這樣比較安全
退出連線 mysql>quit; 或者 exit;
-
檢視MySQL伺服器版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.24 |
+-----------+
1 row in set (0.00 sec)
-
檢視當前連線使用者
mysql> select user();
+----------------+
| user() |
+----------------+
| [email protected] |
+----------------+
1 row in set (0.00 sec)
-
檢視當前伺服器日期和時間
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2018-12-18 12:56:19 |
+---------------------+
1 row in set (0.00 sec)
-
當前使用者可以訪問的資料庫
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
-
檢視“mysql”資料庫的表
mysql> show tables from mysql;
+---------------------------+
| Tables_in_mysql |
+---------------------------+
| columns_priv |
| db |
| engine_cost |
| event |
| func |
...........................
| time_zone_name |
| time_zone_transition |
| time_zone_transition_type |
| user |
+---------------------------+
31 rows in set (0.00 sec)
-
檢視當前使用的資料庫
mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.00 sec)
-
檢視mysql庫的user表的列
mysql> desc mysql.user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(32) | NO | PRI |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
| plugin | char(64) | NO | | mysql_native_password | |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
| password_last_changed | timestamp | YES | | NULL | |
| password_lifetime | smallint(5) unsigned | YES | | NULL | |
| account_locked | enum('N','Y') | NO | | N | |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
45 rows in set (0.00 sec)
-
檢視mysql庫的user表的行
mysql> select * from mysql.user\G
*************************** 1. row ***************************
Host: localhost
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
...........................................
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
password_expired: N
password_last_changed: 2018-12-18 12:23:27
password_lifetime: NULL
account_locked: Y
3 rows in set (0.00 sec)
user表的列太多,導致折行,把列轉成行來看,這樣清晰一些
-
資料庫、表、列存放位置
mysql> show variables like 'datadir'; +---------------+----------------+ | Variable_name | Value | +---------------+----------------+ | datadir | D:\mysql\data\ | +---------------+----------------+ 1 row in set, 1 warning (0.00 sec) mysql> show tables from mysql like 'user'; +------------------------+ | Tables_in_mysql (user) | +------------------------+ | user | +------------------------+ 1 row in set (0.00 sec) mysql> select user,host,authentication_string from mysql.user; +---------------+-----------+-------------------------------------------+ | user | host | authentication_string | +---------------+-----------+-------------------------------------------+ | root | localhost | *A4B6157319038724E3560894F7F932C8886EBFCF | | mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | +---------------+-----------+-------------------------------------------+ 3 rows in set (0.00 sec) mysql> desc mysql.user; +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------------+-----------------------------------+------+-----+-----------------------+-------+ | Host | char(60) | NO | PRI | | | | User | char(32) | NO | PRI | | | | Select_priv | enum('N','Y') | NO | | N | | | Insert_priv | enum('N','Y') | NO | | N | max_updates | int(11) unsigned | NO | | 0 | | | max_connections | int(11) unsigned | NO | | 0 | | | max_user_connections | int(11) unsigned | NO | | 0 | | | plugin | char(64) | NO | | mysql_native_password | | | authentication_string | text | YES | | NULL | | | password_expired | enum('N','Y') | NO | | N | | | password_last_changed | timestamp | YES | | NULL | | | password_lifetime | smallint(5) unsigned | YES | | NULL | | | account_locked | enum('N','Y') | NO | | N | | +------------------------+-----------------------------------+------+-----+-----------------------+-------+ 45 rows in set (0.00 sec)
資料庫1(目錄1)
-
表 (檔案)
-
列1,列2,列3,……( 一個表至少有一列 )
-
行1,行2,行3,……(一個表可以有0到N行)
-
資料庫2(目錄2)
-
表1
-
表2
-
表3
-
……
-
資料庫3(目錄3)
-
表1
-
……
-
建立資料庫
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
建立名字為‘test’的資料庫
mysql> create database test character set 'utf8' collate 'utf8_general_ci';
Query OK, 1 row affected (0.01 sec)
建立名為 “test”的資料庫,使用utf8編碼可以儲存中文
character set
指定字串以何種編碼儲存。如果在庫中建表,沒有指定以何種編碼儲存,預設使用utf8編碼儲存表中的字串
collate
定義字串排序的順序和比較的方式
utf8_general_ci
字串按照UTF8編碼比較大小,不區分大小寫ci = case insensitive
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| demo |
| mysql |
| performance_schema |
| student |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
顯示所有資料庫
刪除資料庫
mysql> drop database test;
Query OK, 0 rows affected (0.01 sec)
刪除檔名為‘test’的資料庫
- 目錄會被刪除
- 如果裡面有表文件也會被刪除
-
千萬不要刪除mysql,sys,performance_schema等這些系統資料庫
-
如果刪除了,mysql伺服器程式崩潰,切記危險!