基於linux學習mysql的簡單介紹

本文目錄一覽:

如何使用mysql linux

1Linux下如何創建mysqld資料庫的管理用戶?

資料庫安裝好後,我們應該為mysql資料庫創建一個管理帳號。要把root用戶設置為管理員,我們應該運行下面的命令;

[root@linuxsir01 root]# /opt/mysql/bin/mysqladmin -u root password 123456

[root@linuxsir01 root]#

通過上面的命令,我們可以知道,mysql資料庫的管理員是root,密碼是123456。

2]如何進入mysql資料庫?以mysql資料庫管理員root,密碼為123456為例;

[root@linuxsir01 root]#/opt/mysql/bin/mysql -uroot -p123456

輸出上面的命令後,出現的是如下的提示;

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 6 to server version: 3.23.58

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

mysql

注意:操作這些命令的時候,應該把mysqld伺服器打開。這些新手兄弟早就知道了吧:)

3]如何在資料庫中操作命令呢,我想這是mysql手冊都有的,我主要說幾個要注意的地方。其實我也會不了幾個命令。如果自己想學的弟兄,也不是什麼難事;在windows中操作過mysql的,其實在這裡也是一樣的,mysql是跨平台的資料庫,用法都是相同的。

在mysql資料庫中,每操作一個命令,都是;號結尾的,可能有的新手弟兄,忘記輸入了;號結尾,結果退不出來。:):)

1]查看mysql中都有哪些資料庫?

代碼:

+———-+

| Database |

+———-+

| mysql |

| test |

+———-+

2 rows in set (0.00 sec)

mysql

在mysql安裝好,設置好管理員後,第一次進入系統,我們用show databases;命令查看資料庫的列表,發現有兩個資料庫,mysql和test,這是系統自建的,是讓大家練慣用的。

4]如何創建和刪除一個資料庫?

比如我要創建一個名為linux的資料庫,應該運行如下命令

mysql create database [資料庫名];

所以我們應該運行如下的命令,來創建名為linux的資料庫

mysql create database linux;

Query OK, 1 row affected (0.00 sec)

是不是建好了呢??肯定是建好了,因為都有OK了:)

查看是不是有linux這個資料庫了呢?

代碼:

mysql show databases;

+———-+

| Database |

+———-+

| linux |

| mysql |

| test |

+———-+

3 rows in set (0.00 sec)

mysql

那我們如何刪除一個資料庫呢??

mysql drop database [資料庫名];

比如我們要把剛才創建的linux資料庫刪除,應該用下面的命令;

mysql drop database linux;

Query OK, 0 rows affected (0.00 sec)

是不是已經刪除了呢??

代碼:

mysql show databases;

+———-+

| Database |

+———-+

| mysql |

| test |

+———-+

2 rows in set (0.00 sec)

mysql

5]如何操作一個資料庫呢,這個問題就比較多了,建議還是看一下mysql的手冊吧。裡面的東西太多了。如果操作一個資料庫,首先是要指定一個資料庫為當前資料庫,應該用use命令

mysqluse [資料庫];

比如我想指定linux這個資料庫為當前資料庫,應該是

mysql use linux;

Database changed

mysql

6]如何備份資料庫??

比如我們要備份mysql中已經存在的名為linux的資料庫,要用到命令mysqldump

命令格式如下:

[root@linuxsir01 root]# /opt/mysql/bin/mysqldump -uroot -p linux /root/linux.sql

Enter password:在這裡輸入資料庫的密碼

通過上面的命令,我們要明白兩件事,首先備份資料庫是要以資料庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實備份的位置和文件名,根據自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;

比如我想把linux的資料庫備份到/home/beinan,資料庫的文件名為linuxsir031130.sql,所以應該輸入如下的命令。

[root@linuxsir01 root]#/opt/mysql/bin/mysqldump -uroot -p linux /home/beinan/linuxsir031130.sql

Enter password:在這裡輸入資料庫管理員root的資料庫密碼

這樣我們到/home/beinan目錄下就能發現mysql中名為linux的資料庫的備份文件linuxsir031130.sql

綜上所述,我們學習時要學會變通。:):)

5]如何把把備份的資料庫導入到資料庫中?

首先我們還是要操作上面幾個過程,比如添加資料庫管理員(如果您沒有添加過mysql資料庫管理員的話),創建資料庫等。

比如我們要把在/home/beinan這個目錄中的linuxsir031130.sql這個備份,導入名為linux的資料庫中,應該如下操作;

[root@linuxsir01 root]# /opt/mysql/bin/mysql -uroot -p linux /home/beinan/linuxsir031130.sql

Enter password:在這裡輸入密碼

如果機器好,資料庫比較小,幾分鐘就好了。

6]其它一些比較常用的mysql指令;

查看狀態

mysql show status;

查看進程

代碼:

mysql show processlist;

+—-+——+———–+——+———+——+——-+——————+

| Id | User | Host | db | Command | Time | State | Info |

+—-+——+———–+——+———+——+——-+——————+

| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |

+—-+——+———–+——+———+——+——-+——————+

1 row in set (0.00 sec)

mysql

查看錶,應該先指定一個資料庫為當前資料庫;比如是名為linux的資料庫;

mysqluse linux;

mysql show tables;

Empty set (0.00 sec)

mysql

7]對mysql資料庫常用命令的一點補充;

幾個常用的mysql相關的管理命令

mysql 命令:基本文本的,顯示和使用的mysql資料庫。前面已經簡單的提過用法;比如登錄等。

mysqladmin 命令,用來創建和維護mysql資料庫的命令,前面已經簡單的提過;

isamchk 是用來修復、檢查和優化.ism後綴的資料庫文件;

mysqldump 是用於備份資料庫,前面已經簡單的說明過;

myisamchk 用來修復.myi後綴的資料庫文件;

比如我們要檢查名為linux的資料庫.myi資料庫表是否存在問題,應該用下面的命令;

要把mysqld伺服器停下來

[root@linuxsir01 root]# /opt/mysql/share/mysql.server stop

然後執行

[root@linuxsir01 root]# /opt/mysql/bin/myisamchk /opt/mysql/var/linux/*.MYI

上面的命令的意思就是檢查所有的.myi文件,資料庫的目錄在/opt/mysql/var/linux/目錄中

如果有問題,應該用-r參數來修復

[root@linuxsir01 root]# /opt/mysql/bin/myisamchk -r /opt/mysql/var/linux/*.MYI

6]mysqlshow 命令:顯示用戶選擇的資料庫和表

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p [資料庫名]

比如我要查看名為linux的資料庫;應該是:

[root@linuxsir01 root]# /opt/mysql/bin/mysqlshow -uroot -p linux

如何在Linux下使用MySQL?如何在Linux下使用MySQL

一、啟動mysql服務

(1) rpm方式安裝的mysql

-設置自動啟動

#ntsysv –level 3

-手工啟動

#service mysqld start

(2) 編譯安裝的mysql

-設置自動啟動

#vi /etc/rc.d/rc.local

…….

/usr/local/mysql/bin/mysqld_safe

……..

-手工啟動

#/usr/local/mysql/bin/mysqld_safe

查看文章

mysql伺服器(一)2009-06-15 11:18mysql伺服器

一. 認識和安裝mysql

1. 認識mysql

(1) mysql是一種網路資料庫伺服器產品

(2) mysql是開源的免費的

(3) mysql是關係型資料庫管理系統,支持SQL.

(4) mysql無溢出漏洞

(5) mysql提供豐富的API

(6) mysql提供豐富的數據類型

(7) mysql具較強的移值性

2. 安裝mysql軟體

(1) rpm安裝方式

#rpm -ivh perl-CGI….

perl-DBI….

perl-DBD-MySQL…..

mysq-….

mysql-server….

mysql-devel…..

(2) 編譯安裝方式

#groupadd mysql

#useradd -g mysql mysql

#tar -xzvf mysql-4.1.19.tar.gz

#cd mysql-4.1.19

#./configure –prefix=/usr/local/mysql

#make

#make install

#cp support-files/my-medium.cnf /etc/my.cnf

#cd /usr/local/mysql

#bin/mysql_install_db –user=mysql

#chown -R root .

#chown -R mysql var

#chgrp -R mysql .

3. 啟動mysql服務

(1) rpm方式安裝的mysql

-設置自動啟動

#ntsysv –level 3

-手工啟動

#service mysqld start

(2) 編譯安裝的mysql

-設置自動啟動

#vi /etc/rc.d/rc.local

…….

/usr/local/mysql/bin/mysqld_safe

……..

-手工啟動

#/usr/local/mysql/bin/mysqld_safe

二、mysql的管理

1. 如何連接mysql伺服器

(1) Linux客戶機

#mysql [-h伺服器地址] [-u用戶名] [-p口令] [資料庫名]

實例:

#mysql

mysql

#mysql -h192.168.3.1 -uadmin -plinux

mysql

(2) Windows客戶機

-利用第三方mysql客戶端軟體

-利用瀏覽器連接(伺服器必須安裝web管理平台,如:phpmyadmin/webmin)

注:webmin的安裝方法

#tar -xzvf webmin-1.25.tar.gz

#cd webmin-1.25

#./setup.sh

2. 資料庫管理

(1) 認識mysql的資料庫

-mysql伺服器默認建立兩個資料庫,分別是mysql和test;其中mysql是系統資料庫;test是學習資料庫

-mysql伺服器上的每個資料庫都會在相應路徑中建立與庫同名的目錄

-每個資料庫可包含若干張表,每張表由*.frm、*.MYD和*.MYI文件構成

(2) 創建資料庫

#mysql

mysqlcreate database 資料庫名;

實例:

mysqlcreate database dbinfo;

(3) 查看伺服器上已創建的資料庫

#mysql

mysqlshow databases;

(4) 打開資料庫

#mysql

mysqluse 資料庫名;

實例:

mysqluse db1;

(5) 刪除資料庫

#mysql

mysqldrop database 資料庫名;

實例:

mysqldrop database dbinfo;

3. 數據表的管理

(1) mysql提供的數據類型

-數字型

TINYINT 1位元組

SMALLINT 2位元組

MEDIUMINT 3B

INT 4B

BIGINT 8B

FLOAT[(M,D)] 4B

DOUBEL[(M,D)] 8B

DECIMAL(M,D)

-字元串型

char(M)

varchar(M)

tinytext

text

mediumtext

longtext

enum(‘..’,…)

set(….)

-日期時間型

date

datetime

time

(2) 創建表

#mysql

mysqluse 資料庫;

mysqlcreate table 表名 (

列名 數據類型 屬性/約束;

…….

…..

) 表選項;

列屬性/約束:

null/not null 是否允許為null

default 值 定義列的默認值

primary key 定義主鍵

check 表達式 定義列的取值範圍

REFERENCES 表名(列名) 定義外部鍵

表選項:

TYPE=HEAP/ISAM/MYISAM/INNOBDB/BDB/MERGE //定義數據表引擎類型

實例:

mysqluse db1

mysqlcreate table users (

-id varchar(10) primary key,

-name varchar(20) not null,

-password varchar(30) not null) TYPE=MYISAM;

(3) 查看資料庫中已建立的表

#mysql

mysqluse 資料庫;

mysqlshow tables;

(4) 查看錶的結構

#mysql

mysqluse 資料庫;

mysqldescribe 表名;

(5) 修改表的結構

#mysql

mysqluse 資料庫;

mysqlalter table 表名

add 列定義 //添加列

|drop 列名 //刪除列

|add index 索引名 (列名) //添加索引

|drop index 索引名 //刪除索引

|modify 列定義 //修改列的定義

|add primary key (列名) //添加主鍵

|drop primary key //刪除主鍵

|rename 新表名 //修改表名稱

實例:mysqlalter table users add memo text;

(6) 向表中插入數據

#mysql

mysqlinsert into 表名[(列名,…n)] values (值,…)

實例:

mysqlinsert into users values (‘0001′,’user1′,’linux’,’system admin’);

(7) 查看錶中數據

#mysql

mysqlselect 列名 [as 別名] [,…n]|*|表達式

-from 表名[,…n]

-[where 條件表達式]

-[order by 列名]

-[group by 列名]

-[having 條件表達式]

實例:

mysqlselect * from users;

mysqlselect user,password from users;

mysqlselect user,password from users where name=’user1′;

mysqlselect * from users order by id desc;

mysqlselect 性別, count(*) as 人數 from 學生 group by 性別;

(8) 刪除表中數據

#mysql

mysqldelete from 表名 [where 條件表達式];

實例:

mysqldelete from users;

mysqldelete from users where name=’user1′;

(9) 修改表中數據

#mysql

mysqlupdate 表名 set 列名=值 [where 條件表達式];

實例:

mysqlupdate users set password=’132′ where name=’user1′;

(10) 刪除表

#mysql

mysqldrop table 表名;

實例:

mysqldrop table users;

還不會在Linux中安裝Mysql?

mysql在linux下有三種安裝方式,依照難以程度排序:

第一種是yum install mysql,這種安裝方式最簡單,初學可以採用。但是這種安裝的弊端是安裝的版本比較低,現在安裝的話是5.17的版本。

第二種方式是下載最新的MySQL-5.6.25-1.rhel5.x86_64.rpm-bundle.tar,解壓縮後,用rpm -ivh 包名,安裝四個包就可以了,注意先後順序。

第三種方式是下載最新的mysql-5.6.27-linux-glibc2.5-i686.tar.gz,解壓縮後,手動配置。主要包括配置:增加mysql用戶和群組;拷貝my-default.inf文件為my.inf到/etc/下;安裝並初始化/mysql-5.6.27/scripts/mysql_install_db –user=mysql –basedir=/… –datadir=/…;增加到服務中chkconfig –add mysql ,chkconfig mysql on ;啟動服務service mysql start ;修改root初始密碼。操作完以上幾部基本上就可以了。

基於linux的mysql主從同步解決了什麼問題

有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。前者使用起來比較簡便。推薦使用。

1. check table 和 repair table

登陸mysql 終端:

mysql -uxxxxx -p dbname

check table tabTest;

如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:

repair table tabTest;

進行修復,修復之後可以在用check table命令來進行檢查。在新版本的phpMyAdmin裡面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這裡以myisamchk為例子進行說明。當發現某個數據表出現問題時可以使用:

myisamchk tablename.MYI

進行檢測,如果需要修復的話,可以使用:

myisamchk -of tablename.MYI

關於myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL伺服器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL伺服器Shutdown掉。

-----------------------------

另外可以把下面的命令放在你的rc.local裡面啟動MySQL伺服器前:

[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL監聽的Sock文件位置,對於使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對於使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL資料庫存放的位置。

需要注意的時,如果你打算把這條命令放在你的rc.local裡面,必須確認在執行這條指令時MySQL伺服器必須沒有啟動!檢測修復所有資料庫(表)

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256938.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:43
下一篇 2024-12-15 12:43

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智慧,Python都扮演著重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28

發表回復

登錄後才能評論