一:安裝後的配置
文件目錄:
數據庫目錄
/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。。。。
mysql學習筆記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.