程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql學習筆記

mysql學習筆記

編輯:關於MYSQL數據庫
一:安裝後的配置
 文件目錄: /var/lib/mysql/ /usr/share/mysql(mysql.server命令及配置文件) /usr/bin(mysqladmin mysqldump等命令) /etc/rc.d/init.d/mysqld(啟動腳本文件MySQL的目錄)  啟動:
su  - MySQL
/etc/rc.d/init.d/MySQLd  start  
注:我的是mysqld,也可能是MySQL   獲取信息:
$ mysql  -u  root MySQL
注:如果你得到一些信息,然後是MySQL>提示符,說明已經進入了。輸入\s可以得到更多信息
$ MySQLadmin -u root version
注:查看版本號
    修改密碼:
$ MySQLadmin -u root password newpassWord
注:newpassWord便是新密碼,剛開始的時候默認是無密碼的。但是這種修改密碼的方法不安全
因為終端會有記錄,留在shell歷史中。更好的方法就是通過mysql控制台,使用sql語句。 $ MySQL -u -root
MySQL> SET password=PASSWORD('newpassWord');
注:newpassword的位置輸入你的密碼。下面查看密碼。 mysql>SELECT user, host, passWord FROM MySQL.user | user    | host             | passWord                                                                                          | | root    | localhost   | *41B6A162BA4FE528AE031B240564968C3EDB4A70 |
| doa     | %                   | *41B6A162BA4FE528AE031B240564968C3EDB4A70 | 2 rows in set (0.00 sec)
注:這顯示的是我電腦裡面的密碼。下面講解如何刪除密碼。 mysql> DELETE FROM MySQL.user WHERE user !='root';
注:將刪除非root用戶
mysql> DELETE FROM mysql.user WHERE host !='localhost'; MySQL> eixt;
注:退出。或者quit; 或者\q   創建用戶:
當然你可以用root賬戶登錄,但這不是一個好選擇。需要創建一個普通用戶來為日常使用。
在此將創建一個擁有廣泛權限的用戶 doa。doa有三種方式進行鏈接。
1.從本地機器連接
2.從IP地址在192.168.0.0  ―>192.168.0.255范圍內的任何機器進行鏈接
3.從wiley.com域中的任何機器鏈接。 MySQL>GRANT   ALL  ON *.* TO doa@localhost IDENTIFIED BY "passWord";
MySQL>GRANT   ALL  ON *.* TO doa@'192.168.0.0/192.168.0.255' IDENTIFIED BY "passWord";
MySQL>GRANT   ALL  ON *.* TO doa@'wiley.com' IDENTIFIED BY "passWord"; 注: grant 是創建命令。ALL代表所有權限。ON *.* 使用了通配符,說明權限作用在所有的文件
上。IDENTIFIED BY "password" 設置密碼為pssWord。二:MySQL管理
 1.myisamchk 為了檢查/修復MyISAM表(.MYI和.MYD) 如果你使用myisamchk修復或優化表,你必須總是保證MySQLd服務器不在使用表(如果
你正在使用--skip-locking,這也適用)。如果你不停掉MySQLd,在你運行myisamchk前,你至少
應該做一個MySQLadmin flush-tables。語法:
shell> myisamchk [options] tbl_name myisamchk   /path/to/datadir/*/*.MYI myisamchk -d tbl_name
以“描述模式”運行myisamchk,生成你的表的描述。如果你用--skip-locking選項啟動MySQL
服務器,myisamchk可以當它運行時報告被一個更新的表的錯誤。然而,既然在描述模式中
myisamchk不改變表,沒有破壞數據的任何風險。 myisamchk -d -v tbl_name                
為了生成更多關於myisamchk正在做什麼的信息,加上-v告訴它以冗長模式運行。 myisamchk -eis tbl_name
僅顯示一個表最重要的信息。因為必須讀取整個表,它很慢。 myisamchk -eiv tbl_name
這類似-eis,只是告訴你正在做什麼。

2.MySQL命令
這是MySQL主要的並且唯一的完全世命令行工具。 $MySQL -u -doa -p table_name        
注:-p讓程序提示你輸入密碼    
$MySQL -u -doa -p table_name    < sqlcommands.sql
注:從一個文件中讀取命令
    
3.MySQLadmin
進行快速管理的工具 shell> MySQLadmin [OPTIONS] command [command-option] command ...
         詳細參數見MySQLadmin --help
4.MySQLbug
生成一個用於發送給MySQL維護者的錯誤報告。
 5.MySQLdump 允許你以sql命令集的形式將部分或整個數據庫導出到一個單獨文件中。可用來備份。 mysqldump -u root -p mysql >MySQL.dump
    6.MySQLimport 從輸入文件中讀取大量數據。一般讀取由MySQLdump創建的文件,當然足夠耐心或者形式所迫的
話也可以自己創建。
 7.MySQLshow 提供關於你的MySQL安裝及其組成數據庫的的快速信息 MySQLshow -u root -p
注:列出所有可用的數據庫。
 8.grant命令 創建用戶並賦予權限 grant <privilege> on <object> to <user> [identifIEd by user-passWord] [ with grant] ; <privilege>的權限有
alter             改變表格和索引
create            創建數據庫和表格
delete            從數據庫中刪除數據
drop            刪除數據庫和表格
index            管理索引
insert            在數據庫中插入數據
select            提取數據
update        修改數據
all                以上所有
<object>格式為databasename.tablename,在此可以使用unix通配符*,如*.*
<user>事例為doa@localhost,在此可以使用sql的通配符%,如doa@'%'
identifIEd by 是可選的,每次都設定密碼是個好主意。
 9.revoke 剝奪管理員權限,但是不能刪除用戶。 revoke <privilege> on <object> to <user> ; mysql>use MySQL
MySQL>DELETE FROM user WHERE user ="doa"
MySQL>FLUSH PRIVILEGES;
注:delete和grant,revoke不屬於同一范疇。delete是sql語法,grant,revoke是MySQL命令
mysql裡面可以允許使用sql語法。對於grant,revoke,use命令是沒有必要的,因為MySQL知
道你想操作權限表。
 10.修改密碼update UPDATE user SET password = password('newpassWord') WHERE user = 'doa';
 11.創建數據庫create MySQL> CREATE DATABASE newDatabase;
MySQL> use newDatabase

12.創建表格create
CREATE TABLE table_name (
column_name type [ NULL | NOT NULL] [auto_increment] [PRIMARY KEY], [PRIMARY KEY (column_name [, ...]) ] 事例:
CREATE TABLE children (
childno int(11)  NOT NULL auto_increment,
fname varchar(13),
age int(11),
PRIMARY KEY (childno)
); INSERT INTO children VALUES  (5,  'Jenny',  17) ;
INSERT INTO children VALUES  (2,  'DOA1',  12) ;
INSERT INTO children VALUES  (3,  'DOA2',  17) ;
INSERT INTO children VALUES  (4,  'DOA3',  17) ; auto_increment            自動加一
NULL                        未知的,無關的
PRIMARY KEY                主鍵
    
三:圖形化工具

continue。。。。  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved