一總結一下
linux下啟動mysql的命令
mysqladmin start
/ect/initd/mysql start (前面為mysql的安裝路徑)
linux下重啟mysql的命令
mysqladmin restart
/ect/initd/mysql restart (前面為mysql的安裝路徑)
linux下關閉mysql的命令
mysqladmin shutdown
/ect/initd/mysql shutdown (前面為mysql的安裝路徑)
連接本機上的mysql
進入目錄mysql\bin再鍵入命令mysql uroot p 回車後提示輸入密碼
退出mysql命令exit(回車)
修改mysql密碼
mysqladmin u用戶名 p舊密碼 password 新密碼
或進入mysql命令行SET PASSWORD FOR root=PASSWORD(root);
增加新用戶(注意mysql環境中的命令後面都帶一個分號作為命令結束符)
grant select on 數據庫* to 用戶名@登錄主機 identified by 密碼
如增加一個用戶test密碼為讓他可以在任何主機上登錄 並對所有數據庫有查詢插入修改刪除的權限首先用以root用戶連入mysql然後鍵入以下命令
grant selectinsertupdatedelete on ** to Identified by ;
二有關mysql數據庫方面的操作
必須首先登錄到mysql中有關操作都是在mysql的提示符下進行而且每個命令以分號結束
顯示數據庫列表
show databases;
顯示庫中的數據表
use mysql //打開庫
show tables;
顯示數據表的結構
describe 表名;
建庫
create database 庫名;
建表
use 庫名
create table 表名(字段設定列表)
刪庫和刪表:
drop database 庫名;
drop table 表名
將表中記錄清空
delete from 表名;
顯示表中的記錄
select * from 表名;
編碼的修改
如果要改變整個mysql的編碼格式
啟動mysql的時候mysqld_safe命令行加入
defaultcharacterset=gbk
如果要改變某個庫的編碼格式在mysql提示符後輸入命令
alter database db_name default character set gbk;
三數據的導入導出
文本數據轉到數據庫中
文本數據應符合的格式字段數據之間用tab鍵隔開null值用來代替例
name duty
數據傳入命令 load data local infile 文件名 into table 表名;
導出數據庫和表
mysqldump opt news > newssql(將數據庫news中的所有表備份到newssql文件newssql是一個文本文件文件名任取)
mysqldump opt news author article > authorarticlesql(將數據庫news中的author表和article表備份到authorarticlesql文件 authorarticlesql是一個文本文件文件名任取)
mysqldump databases db db > newssql(將數據庫dbl和db備份到newssql文件newssql是一個文本文件文件名任取)
mysqldump h host u user p pass databases dbname > filedump
就是把host上的以名字user口令pass的數據庫dbname導入到文件filedump中
mysqldump alldatabases > alldatabasessql(將所有數據庫備份到alldatabasessql文件alldatabasessql是一個文本文件文件名任取)
導入數據
mysql < alldatabasessql(導入數據庫)
mysql>source newssql;(在mysql命令下執行可導入表)
一連接MySQL
格式 mysql h主機地址 u用戶名 -p用戶密碼
例連接到本機上的MYSQL
首先在打開DOS窗口然後進入目錄 mysqlbin再鍵入命令mysql uroot p回車後提示你輸密碼如果剛安裝好MYSQL超級用戶root是沒有密碼的故直接回車即可進入到MYSQL中了MYSQL的提示符是 mysql>
例連接到遠程主機上的MYSQL假設遠程主機的IP為用戶名為root密碼為abcd則鍵入以下命令
mysql h uroot pabcd
(注:u與root可以不用加空格其它也一樣)
退出MYSQL命令 exit (回車)
二修改密碼
格式mysqladmin u用戶名 p舊密碼 password 新密碼
例給root加個密碼ab首先在DOS下進入目錄mysqlbin然後鍵入以下命令
mysqladmin uroot password ab
注因為開始時root沒有密碼所以p舊密碼一項就可以省略了
例再將root的密碼改為djg
mysqladmin uroot pab password djg
三增加新用戶(注意和上面不同下面的因為是MySQL環境中的命令所以後面都帶一個分號作為命令結束符)
格式grant select on 數據庫* to 用戶名@登錄主機 identified by \密碼\
例增加一個用戶test密碼為abc讓他可以在任何主機上登錄並對所有數據庫有查詢插入修改刪除的權限首先用以root用戶連入MySQL然後鍵入以下命令
grant selectinsertupdate
delete on ** to test@\%\ Identified by \abc\;
但例增加的用戶是十分危險的你想如某個人知道test的密碼那麼他就可以在internet上的任何一台電腦上登錄你的MySQL數據庫並對你的數據可以為所欲為了解決辦法見例
例增加一個用戶test密碼為abc讓他只可以在localhost上登錄並可以對數據庫mydb進行查詢插入修改刪除的操作 (localhost指本地主機即MySQL數據庫所在的那台主機)這樣用戶即使用知道test的密碼他也無法從internet上直接訪問數據 庫只能通過MySQL主機上的web頁來訪問
grant selectinsertupdate
delete on mydb* to test@localhost identified by \abc\;
如果你不想test有密碼可以再打一個命令將密碼消掉
grant selectinsertupdatedelete on mydb
* to test@localhost identified by \\;
在上面講了登錄增加用戶密碼更改等問題下面我們來看看MySQL中有關數據庫方面的操作注意你必須首先登錄到MySQL中以下操作都是在MySQL的提示符下進行的而且每個命令以分號結束
一操作技巧
如果你打命令時回車後發現忘記加分號你無須重打一遍命令只要打個分號回車就可以了也就是說你可以把一個完整的命令分成幾行來打完後用分號作結束標志就完成
你可以使用光標上下鍵調出以前的命令但以前我用過的一個MySQL舊版本不支持我現在用的是mysqlbetawin
二顯示命令
顯示數據庫列表
show databases;
剛開始時才兩個數據庫mysql和testMySQL庫很重要它裡面有MYSQL的系統信息我們改密碼和新增用戶實際上就是用這個庫進行操作
顯示庫中的數據表
use mysql //打開庫學過FOXBASE的一定不會陌生吧
show tables;
顯示數據表的結構
describe 表名;
建庫
create database 庫名;
建表
use 庫名
create table 表名 (字段設定列表)
刪庫和刪表:
drop database 庫名;
drop table 表名
將表中記錄清空
delete from 表名;
顯示表中的記錄
select * from 表名;
三一個建庫和建表以及插入數據的實例
drop database if exists school; //如果存在SCHOOL則刪除
create database school; //建立庫SCHOOL
use school; //打開庫SCHOOL
create table teacher //建立表TEACHER
(
id int() auto_increment not null primary key
name char() not null
address varchar() default 深圳
year date
); //建表結束
//以下為插入字段
insert into teacher values(glchengang深圳一中);
insert into teacher values(jack深圳一中);
注在建表中()將ID設為長度為的數字字段:int()並讓它每個記錄自動加一:auto_increment並不能為空:not null而且讓他成為主字段primary key()將NAME設為長度為的字符字段()將ADDRESS設為長度的字符字段而且缺省值為深圳varchar和char有什麼區別 呢只有等以後的文章再說了()將YEAR設為日期字段
如果你在MySQL提示符鍵入上面的命令也可以但不方便調試你可以將以上命令原樣寫入一個文本文件中假設為schoolsql然後復制到c:\\下並在DOS狀態進入目錄\\mysql\\bin然後鍵入以下命令
mysql uroot p密碼 < c:\\schoolsql
如果成功空出一行無任何顯示如有錯誤會有提示(以上命令已經調試你只要將//的注釋去掉即可使用)
四將文本數據轉到數據庫中
文本數據應符合的格式字段數據之間用tab鍵隔開null值用\\n來代替
例
rose 深圳二中
mike 深圳一中
數據傳入命令 load data local infile \文件名\ into table 表名
注意你最好將文件復制到\\mysql\\bin目錄下並且要先用use命令打表所在的庫
五備份數據庫
mysqldump opt school>schoolbbb
mysqldump opt school>schoolbbb
(命令在DOS的\\mysql\\bin目錄下執行)
注釋:將數據庫school備份到schoolbbb文件schoolbbb是一個文本文件文件名任取打開看看你會有新發現
後記其實MySQL的對數據庫的操作與其它的SQL類數據庫大同小異您最好找本將SQL的書看看我在這裡只介紹一些基本的其實我也就只懂這些了 呵呵最好的MYSQL教程還是晏子譯的MYSQL中文參考手冊不僅免費每個相關網站都有下載而且它是最權威的可惜不是象\PHP中文手 冊\那樣是chm的格式在查找函數命令的時候不太方便
修改登錄密碼
) mysqladmin u用戶名 p舊密碼 password 新密碼:
例mysqladmin u root password century
注因為開始時root沒有密碼所以p舊密碼一項就可以省略了
)直接修改user表的root用戶口令
mysql> user mysql;
mysql> update user set pasword=password(century) where user=root;
mysql> flush privileges;
注flush privileges的意思是強制刷新內存授權表否則用的還是緩沖中的口令
測試密碼是否修改成功:
)不用密碼登錄:
[root@test local]# mysql
ERROR : Access denied for user: root@localhost (Using password: NO)
顯示錯誤說明密碼已經修改
)用修改後的密碼登錄:
[root@test local]# mysql u root p
Enter password: (輸入修改後的密碼century)
Welcome to the MySQL monitor Commands end with ; or \g
Your MySQL connection id is to server version:
Type help; or \h for help Type \c to clear the buffer
mysql>
成功!
這是通過mysqladmin命令修改口令也可通過修改庫來更改口令
啟動和停止:
啟動Mysql從版本開始作了改動默認安裝後服務要用MySQL用戶來啟動不允許root用戶啟動
如果非要用root用戶來啟動必須加上user=root參數(/safe_mysqld user=root &)停止mysqladmin u root p shutdown
導出meeting數據庫
mysqldump uroot pcentury meeting > db_meetingsql
導人dbname數據庫:
mysqldump uroot pcentury dbname < xxxsql
導入數據庫還可用類似於oracle中@my_scriptsql的方式一次執行大量sql語句這在使用mysqldump不起作用時非常有用
例#/mysql uroot p < /home/xuys/db_meeting_sql
(注create databaseuse databasenamecreate table和insert into語句都可寫在上面的腳步文件中)
給表改名:
RENAME TABLE ztemp TO ztemp;
修改字段屬性
ALTER TABLE bbabase CHANGE news_id id VARCHAR() NOT NULL;
在表中的content後增加一字段
ALTER TABLE bbabase ADD leave_time DATETIME NOT NULL AFTER
From:http://tw.wingwit.com/Article/program/MySQL/201311/29353.html