日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Linux如何指向mysql_linux的基本操作(mysql 的基本操作)

發布時間:2024/1/23 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux如何指向mysql_linux的基本操作(mysql 的基本操作) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Mysql 的基本操作

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

【更改mysql數據庫root的密碼】

首次進入數據庫是不用密碼的

/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>

現在已經進入到了mysql?的操作界面了。退出的話,直接輸入exit即可。

mysql>exit

Bye

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

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

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

vim /etc/profile

在最后加入一行:

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

保存后運行

source /etc/profile

設定完密碼后,再來運行最開始進入mysql數據庫操作界面的命令:

mysql -u root

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

就報錯了,這是因為root用戶有密碼。

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選項指定密碼,這時就會提示你輸入密碼了。

當設定密碼后,如果要想更改密碼如何操作呢?

mysqladmin -u root -p password "123456789"

Enter password:

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

【連接數據庫】

剛剛講過通過使用mysql -u root -p就可以連接數據庫了,但這只是連接的本地的數據庫’localhost’,然后有很多時候都是去連接網絡中的某一個主機上的mysql。

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

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

【一些基本的MySQL操作命令】

1.?查詢當前所有的庫

mysql>?show databases;

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

| Database |

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

| information_schema |

| mysql |

| test |

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

2.?查詢某個庫的表

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 |

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

3.?查看某個表的字段

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 | |

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

4.?查看某個表的表結構(創建表時的詳細結構)

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' |

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

5.?查看當前是哪個用戶

mysql>?select user();

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

| user() |

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

| root@localhost |

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

6.?查看當前所在數據庫

mysql>?select database();

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

| database() |

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

| mysql |

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

7.?創建一個新庫

mysql>?create database db1;

Query OK, 1 row affected (0.04 sec)

8.?創建一個表

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 | |

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

9.?查看當前數據庫版本

mysql>?select version();

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

| version() |

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

| 5.0.86 |

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

10.?查看當前系統時間

mysql>?select current_date, current_time;

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

| current_date | current_time |

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

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

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

11.?查看當前mysql的狀態

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 |

這個命令打出很多東西,顯示你的mysql狀態。

12.?查看mysql的參數

mysql>?show variables;

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

13.?創建一個普通用戶并授權

mysql>grant all on *.* to user1 identified by '123456';

Query OK, 0 rows affected (0.01 sec)

all?表示所有的權限(讀、寫、查詢、刪除等等操作),*.*前面的*表示所有的數據庫,后面的*表示所有的表,identified by?后面跟密碼,用單引號括起來。這里的user1指的是localhost上的user1,如果是給網絡上的其他機器上的某個用戶授權則這樣:

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

Query OK, 0 rows affected (0.00 sec)

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

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表中的所有數據

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.%?的行,這里的%表示匹配所有,類似于前面介紹的通配符。

2.?插入一行

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

Query OK, 1 row affected (0.00 sec)

t1表在前面已經創建過。

mysql>?select * from db1.t1;

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

| id | name |

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

| 1 | abc |

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

3.?更改某一行

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’

4.?刪除表

mysql>drop table db1.t1;

Query OK, 0 rows affected (0.01 sec)

5.?刪除數據庫

mysql>?drop database db1;

Query OK, 0 rows affected (0.07 sec)

6.?備份與恢復庫

mysqldump -uroot -p mysql >mysql.sql

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

mysql -uroot -p mysql < mysql.sql

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

總結

以上是生活随笔為你收集整理的Linux如何指向mysql_linux的基本操作(mysql 的基本操作)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。