Mysql及常用命令介紹

在這裏插入圖片描述

Mysql(關係型數據庫管理系統)

MySQL是一個關係型數據庫管理系統由瑞典MySQL AB 公司開發,目前屬於 Oracle旗下產品。MySQL 是最流行的關係型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS(Relational Database Management System,關係數據庫管理系統) 應用軟件之一。

MySQL是一種關係數據庫管理系統,關係數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

MySQL所使用的 SQL 語言是用於訪問數據庫的最常用標準化語言。MySQL 軟件採用了雙授權政策,分爲社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作爲網站數據庫。

由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。

系統特性

1.使用 C和 C++編寫,並使用了多種編譯器進行測試,保證了源代碼的可移植性。
2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統。
3.爲多種編程語言提供了 API。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。
4.支持多線程,充分利用 CPU 資源。
5.優化的 SQL查詢算法,有效地提高查詢速度。
6.既能夠作爲一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作爲一個庫而嵌入到其他的軟件中。
7.提供多語言支持,常見的編碼如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作數據表名和數據列名。
8.提供 TCP/IP、ODBC 和 JDBC等多種數據庫連接途徑。
9.提供用於管理、檢查、優化數據庫操作的管理工具。
10.支持大型的數據庫。可以處理擁有上千萬條記錄的大型數據庫。
11.支持多種存儲引擎。
12.MySQL 是開源的,所以你不需要支付額外的費用。
13.MySQL 使用標準的 SQL數據語言形式。
14.MySQL 對 PHP 有很好的支持,PHP是比較流行的 Web 開發語言。
15.MySQL是可以定製的,採用了 GPL協議,你可以修改源碼來開發自己的 MySQL 系統。
16.在線 DDL/更改功能,數據架構支持動態應用程序和開發人員靈活性(5.6新增)
17.複製全局事務標識,可支持自我修復式集羣(5.6新增)
18.複製無崩潰從機,可提高可用性(5.6新增)
19.複製多線程從機,可提高性能(5.6新增)
20.3倍更快的性能(5.7 [3] 新增)
21.新的優化器(5.7新增)
22.原生JSON支持(5.7新增)
23.多源複製(5.7新增)
24.GIS的空間擴展 [4] (5.7新增)

報錯解決

1.Starting MySQL.Manager of pid-file quit without updating fi[失敗]

關於這個錯誤原因有很多,最大的可能是沒有創建測試數據庫,可以用/usr/local/mysql/scripts/mysql_install_db –user=mysql命令進行創建;另外一個原因可能是權限設置問題,需要賦予mysql的data權限,可以用chmod -R 命令。

2.FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults If you are using a binary release,you must run this script from

within the directory the archive extracted into. If you compiled

MySQL yourself you must run ‘make install’ first.

這個錯誤,是沒有指明mysql的data路徑導致的,可以很簡單的進行解決:

vim /etc/my.cnf

在[mysqld] 後面加上路徑:

basedir = /usr/local/mysql

datadir =/opt/data;

3.-bash: mysql: command not found

用mysql命令進行登陸mysql報錯,原因是沒有設置環境變量,需要設置,或者進入到bin目錄進行登陸cd /usr/local/mysql/bin

mysql -u root

4.ERROR 1130: Host ’192.168.1.3′ is not allowed to connect to this MySQL server

用mysql遠程工具鏈接數據庫報錯,這個錯誤原因是沒有開放遠程鏈接功能,可以在mysql裏面輸入如下命令進行解決:GRANT ALL PRIVILEGES ON . TO ’root‘@’%’ IDENTIFIED BY ’password’ WITH GRANT OPTION

顯示命令

1.顯示數據庫列表。

show databases;

剛開始時才兩個數據庫:mysql 和 test。mysql 庫很重要它裏面有 MySQL 的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。

2.顯示庫中的數據表:

use mysql; //打開庫,

show tables;

3.顯示數據表的結構:

describe 表名;

4.建庫:

create database 庫名;

5.建表:

use 庫名;

create table 表名 (字段設定列表);

6.刪庫和刪表:

drop database 庫名;

drop table 表名;

7.將表中記錄清空:

delete from 表名;

8.顯示錶中的記錄:

select * from 表名;

9.顯示最後一個執行的語句所產生的錯誤、警告和通知:

show warnings;

10.只顯示最後一個執行語句所產生的錯誤:

show errors;

備份數據庫

(命令在DOS的\mysql\bin目錄下執行)

mysqldump --opt school>school.bbb

註釋:將數據庫school備份到school.bbb文件,school.bbb是一個文本文件,文件名任取,打開看看你會有新發現。

自動備份 mysql 數據庫的方法

1、先是建立批處理文件,將以下代碼另存爲.bat文件,文件名最好爲英文。注意下面的路徑,以筆者自己的數據庫爲例,數據庫安裝在D盤下mysql\mysql下,備份位置在F:\beifen,後面的代碼是日期。

@echo off

color 0D

MODE con: COLS=71 LINES=25

title mysql數據庫自動備份腳本(任務計劃)

set sou_dir=“D:\mysql\Mysql\data”

set obj_dir=F:\beifen%date:~0,10%

net stop mysql

md %obj_dir%

xcopy /e /y %sou_dir% %obj_dir%

net start mysql

@echo off&setlocal enabledelayedexpansion

call:D,30

echo. 30天前的日期爲:%D%

echo. 刪除30天以前備份…

if exist F:\beifen%D% rd /s /q F:\beifen%D%

echo 自動備份完成,程序將自動退出…

還原導入

還原/導入數據庫,導入過程,進入 mysql 數據庫控制檯,如 mysql -u root -p

mysql>use 數據庫

然後使用 source 命令,後面參數爲腳本文件(如這裏用到的.sql)

mysql>source d:\dbname.sql

如果提示找不到文件,輸完 source 後,可以用鼠標把文件直接拖進命令行窗口

啓動跟蹤

mysqld --debug

關閉服務器

mysqladmin -u root shutdown

啓動服務

mysqld --console

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章