在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 學(xué)會(huì)使用簡(jiǎn)單的 MySQL 操作
初步進(jìn)入 linux 世界
Linux 系統(tǒng)的遠(yuǎn)程登錄
配置 Tomcat
配置 samba 服務(wù)器
LNMP 環(huán)境搭建
配置 FTP 服務(wù)
linux 系統(tǒng)用戶以及用戶組管理
正則表達(dá)式
LAMP環(huán)境搭建
安裝 RPM 包或者安裝源碼包
NFS 服務(wù)配置
文檔的壓縮與打包
Linux 操作系統(tǒng)的安裝
配置 squid 服務(wù)
Linux 文件與目錄管理
Linux 磁盤管理
學(xué)會(huì)使用簡(jiǎn)單的 MySQL 操作
關(guān)于 Linux 的歷史
學(xué)習(xí) shell 腳本之前的基礎(chǔ)知識(shí)
圖形界面還是命令窗口
文本編輯工具 vim
shell 腳本
使用 Nagios 搭建監(jiān)控服務(wù)器
linux 系統(tǒng)日常管理

學(xué)會(huì)使用簡(jiǎn)單的 MySQL 操作

在前面兩個(gè)章節(jié)中已經(jīng)介紹過MySQL的安裝了,但是光會(huì)安裝還不夠,還需要會(huì)一些基本的相關(guān)操作。當(dāng)然了,關(guān)于MySQL的內(nèi)容也是非常多的,只不過對(duì)于linux系統(tǒng)管理員來講,一些基本的操作已經(jīng)可以應(yīng)付日常的管理工作了,至于更高深的那是DBA(專門管理數(shù)據(jù)庫的技術(shù)人員)的事情了。

更改mysql數(shù)據(jù)庫root的密碼

首次進(jìn)入數(shù)據(jù)庫是不用密碼的

/usr/local/mysql/bin/mysql -u root

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

Your MySQL connection id is 2

Server version: 5.0.86 MySQL Community Server (GPL)

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

mysql>

現(xiàn)在已經(jīng)進(jìn)入到了mysql 的操作界面了。退出的話,直接輸入exit即可。

mysql> exit

Bye

先解釋一下上面的命令的含義,-u 用來指定要登錄的用戶,root用戶是mysql自帶的管理員賬戶,默認(rèn)沒有密碼的,那么如何給root用戶設(shè)定密碼?按如下操作:

/usr/local/mysql/bin/mysqladmin -u root password ‘123456’

這樣就可以設(shè)定root用戶的密碼了。其中mysqladmin就是用來設(shè)置密碼的工具,-u 指定用戶,passwod 后跟要定義的密碼,密碼需要用單引號(hào)或者雙引號(hào)括起來。另外你也許發(fā)現(xiàn)了,敲命令時(shí)總在前面加/usr/local/mysql/bin/ 這樣很累。但是直接打mysql 又不能用,這是因?yàn)樵谙到y(tǒng)變量$PATH中沒有/usr/local/mysql/bin/這個(gè)目錄,所以需要這樣操作(如果你的linux可以直接打出mysql這個(gè)命令,則不要做這個(gè)操作):

vim /etc/profile

在最后加入一行:

export PATH=$PATH:/usr/local/mysql/bin/

保存后運(yùn)行

source /etc/profile

設(shè)定完密碼后,再來運(yùn)行最開始進(jìn)入mysql數(shù)據(jù)庫操作界面的命令:

mysql -u root

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

就報(bào)錯(cuò)了,這是因?yàn)閞oot用戶有密碼。

mysql -u root -p

Enter password:

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

Your MySQL connection id is 5

Server version: 5.0.86 MySQL Community Server (GPL)

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

mysql>

需要加-p選項(xiàng)指定密碼,這時(shí)就會(huì)提示你輸入密碼了。

當(dāng)設(shè)定密碼后,如果要想更改密碼如何操作呢?

mysqladmin -u root -p password "123456789"

Enter password:

輸入原來root的密碼就可以更改密碼了。

連接數(shù)據(jù)庫

剛剛講過通過使用mysql -u root -p 就可以連接數(shù)據(jù)庫了,但這只是連接的本地的數(shù)據(jù)庫’localhost’,然后有很多時(shí)候都是去連接網(wǎng)絡(luò)中的某一個(gè)主機(jī)上的mysql。

mysql -u user1 -p –P 3306 -h 10.0.2.69

其中-P(大寫)指定遠(yuǎn)程主機(jī)mysql的綁定端口,默認(rèn)都是3306;-h指定遠(yuǎn)程主機(jī)的IP

一些基本的MySQL操作命令

  1. 查詢當(dāng)前所有的庫
mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| test |

+--------------------+
  1. 查詢某個(gè)庫的表
mysql> use mysql;

Database changed

mysql> show tables;

+---------------------------+

| Tables_in_mysql |

+---------------------------+

| columns_priv |

| db |

| func |

| help_category |

| help_keyword |

| help_relation |

| help_topic |

| host |

| proc |

| procs_priv |

| tables_priv |

| time_zone |

| time_zone_leap_second |

| time_zone_name |

| time_zone_transition |

| time_zone_transition_type |

| user |

+---------------------------+
  1. 查看某個(gè)表的字段
mysql> desc func; //func 是表名

+-------+------------------------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+------------------------------+------+-----+---------+-------+

| name | char(64) | NO | PRI | | |

| ret | tinyint(1) | NO | | 0 | |

| dl | char(128) | NO | | | |

| type | enum('function','aggregate') | NO | | NULL | |

+-------+------------------------------+------+-----+---------+-------+
  1. 查看某個(gè)表的表結(jié)構(gòu)(創(chuàng)建表時(shí)的詳細(xì)結(jié)構(gòu))
mysql> show create table func;

|Table | CreateTable |

| func | CREATE TABLE `func` (

`name` char(64) collate utf8_bin NOT NULL default '',

`ret` tinyint(1) NOT NULL default '0',

`dl` char(128) collate utf8_bin NOT NULL default '',

`type` enum('function','aggregate') character set utf8 NOT NULL,

PRIMARY KEY (`name`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions' |

+-------+----------------------------------------------------------------------------------------------------------------------
  1. 查看當(dāng)前是哪個(gè)用戶
mysql> select user();

+----------------+

| user() |

+----------------+

| root@localhost |

+----------------+
  1. 查看當(dāng)前所在數(shù)據(jù)庫
mysql> select database();

+------------+

| database() |

+------------+

| mysql |

+------------+
  1. 創(chuàng)建一個(gè)新庫
mysql> create database db1;

Query OK, 1 row affected (0.04 sec)
  1. 創(chuàng)建一個(gè)表
mysql> create table t1 ( `id` int(4), `name` char(40));

Query OK, 0 rows affected (0.02 sec)

mysql> desc t1;

+-------+----------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+----------+------+-----+---------+-------+

| id | int(4) | YES | | NULL | |

| name | char(40) | YES | | NULL | |

+-------+----------+------+-----+---------+-------+
  1. 查看當(dāng)前數(shù)據(jù)庫版本
mysql> select version();

+-----------+

| version() |

+-----------+

| 5.0.86 |

+-----------+
  1. 查看當(dāng)前系統(tǒng)時(shí)間
mysql> select current_date, current_time;

+--------------+--------------+

| current_date | current_time |

+--------------+--------------+

| 2011-05-31 | 08:52:50 |

+--------------+--------------+
  1. 查看當(dāng)前mysql的狀態(tài)
mysql> show status;

+-----------------------------------+----------+

| Variable_name | Value |

+-----------------------------------+----------+

| Aborted_clients | 0 |

| Aborted_connects | 1 |

| Binlog_cache_disk_use | 0 |

| Binlog_cache_use | 0 |

| Bytes_received | 664 |

| Bytes_sent | 6703 |

這個(gè)命令打出很多東西,顯示你的mysql狀態(tài)。

  1. 查看mysql的參數(shù)

mysql> show variables;

很多參數(shù)都是可以在/etc/my.cnf中定義的。

  1. 創(chuàng)建一個(gè)普通用戶并授權(quán)
mysql> grant all on *.* to user1 identified by '123456';

Query OK, 0 rows affected (0.01 sec)

all 表示所有的權(quán)限(讀、寫、查詢、刪除等等操作),*.*前面的*表示所有的數(shù)據(jù)庫,后面的*表示所有的表,identified by 后面跟密碼,用單引號(hào)括起來。這里的user1指的是localhost上的user1,如果是給網(wǎng)絡(luò)上的其他機(jī)器上的某個(gè)用戶授權(quán)則這樣:

mysql> grant all on db1.* to 'user2'@'10.0.2.100' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

用戶和主機(jī)的IP之間有一個(gè)@,另外主機(jī)IP那里可以用%替代,表示所有主機(jī)。例如:

mysql> grant all on db1.* to 'user3'@'%' identified by '123456';

Query OK, 0 rows affected (0.00 sec)

一些常用的sql

  1. 查詢語句

mysql> select count(*) from mysql.user;

mysql.user表示mysql庫的user表;count(*)表示表中共有多少行。

mysql> select * from mysql.db;

查詢mysql庫的db表中的所有數(shù)據(jù)

mysql> select db from mysql.db;

查詢mysql庫db表的db段。

mysql> select * from mysql.db where host like '10.0.%';

查詢mysql庫db表host字段like 10.0.% 的行,這里的%表示匹配所有,類似于前面介紹的通配符。

  1. 插入一行

mysql> insert into db1.t1 values (1, 'abc');

Query OK, 1 row affected (0.00 sec)

t1表在前面已經(jīng)創(chuàng)建過。

mysql> select * from db1.t1;

+------+------+

| id | name |

+------+------+

| 1 | abc |

+------+------+
  1. 更改某一行
mysql> update db1.t1 set name='aaa' where id=1;

Query OK, 1 row affected (0.02 sec)

Rows matched: 1 Changed: 1 Warnings: 0

這樣就把原來id為1的那行中的name改成’aaa’

  1. 刪除表
mysql> drop table db1.t1;

Query OK, 0 rows affected (0.01 sec)
  1. 刪除數(shù)據(jù)庫
mysql> drop database db1;

Query OK, 0 rows affected (0.07 sec)
  1. 備份與恢復(fù)庫

mysqldump -uroot -p mysql >mysql.sql

這里的mysqldump 就是備份的工具了,-p后面的mysql指的是mysql庫,把備份的文件重定向到mysql.sql。如果恢復(fù)的話,只要:

mysql -uroot -p mysql < mysql.sql

關(guān)于MySQL的基本操作筆者就介紹這么多,當(dāng)然學(xué)會(huì)了這些還遠(yuǎn)遠(yuǎn)不夠,希望你能夠在你的工作中學(xué)習(xí)到更多的知識(shí),如果你對(duì)MySQL有很大興趣,不妨深入研究一下,畢竟多學(xué)點(diǎn)總沒有壞處。如果想學(xué)跟多的東西請(qǐng)去查看MySQL官方中文參考手冊(cè)(5.1)。