#第一次安裝設定root的密碼
# mysqladmin -u root password NEW_PASSWORD
#mysql 設定允許外部IP連線
用mysql的文字工具進入mysql模式
mysql> grant all on *.* to ‘帳號‘@’要連線的IP’ identified by ‘密碼’;
mysql> use mysql;
mysql> update user set password=old_passowrd(’密碼’) where user=’帳號’;
mysql> flush privileges;
#修復資料表
repair table tablename
#忘記密碼
root 密碼忘了,可按照下列方式更正:
1.先停掉mysql
# /etc/rc.d/init.d/mysql stop
2.以–skip-grant-table 的參數啟動mysql
# safe_mysql –skip-grant-table&
#資料庫備份與還原
備份:
1. 備份單一資料庫
mysqldump -u root -p dbname > /backup/dbname.sql
mysqldump –lock-all-tables -u root -p dbname > /backup/dbname.sql
(–lock-all-tables:進行備份時將正在備份的資料庫裡的資料表,全部鎖定以確保資料的一致性)
2. 備份所有資料庫
mysqldump -u root -p –all-databases > /backup/allDB.sql
還原單一資料庫:
mysql -u root -p dbname < /backup/dbname.sql
還原所有資料庫:
mysql -u root -p < /backup/allDB.sql
自動備份資料庫
mysqldump -u root -p密碼 –all-databases > /backup/allDB.sql
#建立資料庫
登入 MySQL
mysql -u root -p
建資料庫
mysql> create database dbname;
Query OK, 1 row affected (0.00 sec)
新增使用者權限語法
GRANT ALL PRIVILEGES ON article.* TO userdb@localhost
IDENTIFIED BY 'userdb' WITH GRANT OPTION;
#刪除資料庫
DROP DATABASE 資料庫名;
語法:DROP DATABASE [IF EXISTS] db_name
mysql> 下可以使用source這個命令匯入
後方加上檔案位置
ex:source /home/tour365.sql
MySQL資料庫匯入備份檔語法
mysql database < backup-file.sql
mysql指令收集區<--快速查找指令
常用指令收集區
//登入
mysql -u root -h hostname -p
// show 出資料庫
show databases;
//使用資料庫
use 資料庫名稱;
//檢查使用中的資料庫
select database();
//秀出資料庫
shell指令mysqlshow
mysql下 show databases;
//顥示連結的狀態
status
//秀出資料庫使用狀況
select database();
//秀出資料庫內的資料表名稱
show tables;
//秀出資料庫欄位名稱及內容
describe 資料表名稱;
//修改資料表欄位名稱
alter table colors change tone hue varchar; //"tone" 舊欄位 "hue" 新欄位"colors".
//加入新的資料至欄位
INSERT INTO manber( 欄位, 欄位, )
VALUES ( '插入字串' , '插入字串' );
//加入欄位至資料庫尾端
ALTER TABLE `TABLE_NAME` ADD `新增欄位名稱` VARCHAR( 5 ) ;
//show 出 資料表內所有的內容
select * from 資料表名稱;
// show 出資料表後匯入一個新的文件
mysql -u root -hhostname -p -e "select * from cd limit 1" > 匯出的名稱
// 搜尋某筆的資料
select * from table名稱 where type_id='24';
//修改芋筆的資料
update table名稱 set 欄位1='5' where 欄位2='24' limit 5;
//記算資料庫筆數
select count(櫚位名) from table_name ;
或
select count(*) from table_name ;
timestamp下
select 櫚位名1,count(*) from table_name where Time < timename_timestamp('2003-5-8 12:0:0') group by 欄位名1 ;
//亂數select
select * from twble_name order by rand() ;
//新增資料
insert into 資料庫名稱(欄位1,欄位2) values(資料1,資料2);
//刪除資料
delete from 資料庫名稱 ; //不用加星號
想要了解目前資料庫本身的編碼設定,可以在任意可以輸入SQL命令的地方鍵入
show variables like '%character%';
default-character-set=utf8
php 中的 mysql 函式庫
mysql_affected_rows --- 取得先前操作MySQL所受到影響的列的數目
mysql_change_user --- 更改連線的使用者
mysql_close --- 關閉MySQL連線
mysql_connect --- 開啟MySQL伺服器連線
mysql_create_db --- 新增一個MySQL資料庫
mysql_data_seek --- 移動內部指標
mysql_db_query --- 送出MySQL查詢
mysql_drop_db --- 刪除MySQL資料庫
mysql_errno --- 從先前MySQL操作傳回錯誤訊息代號
mysql_error --- 從先前MySQL操作傳回錯誤訊息
mysql_fetch_array --- 取得查詢後的陣列結果
mysql_fetch_field --- 取得欄位資訊
mysql_fetch_lengths --- 取得各欄位最大長度
mysql_fetch_object --- 取得查詢後的物件結果
mysql_fetch_row --- 取得單列結果
mysql_field_flags --- 取得指定欄位的旗標
mysql_field_name --- 取得指定欄位的名稱
mysql_field_len --- 取得指定欄位的長度
mysql_field_seek --- 設定結果指標到指定的欄位偏移量
mysql_field_table --- 取得指定欄位所在的表格名稱
mysql_field_type --- 取得指定欄位的型態
mysql_free_result --- 釋放記憶體
mysql_insert_id --- 取得先前INSERT操作的id
mysql_list_dbs --- 列出MySQL伺服器上可用的資料庫
mysql_list_fields --- 列出欄位
mysql_list_tables --- 列出資料庫中的表格
mysql_num_fields --- 取得欄位的數目
mysql_num_rows --- 取得結果中列的數目
mysql_pconnect --- 開啟MySQL伺服器持續連線
mysql_query --- 送出MySQL查詢
mysql_result --- 取得結果資料
mysql_select_db --- 選擇一個資料庫
mysql_tablename --- 取得表格名稱
權限管理 :
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('password') WHERE user='root';
mysql> FLUSH PRIVILEGES; //重啟資料庫權限
離開資料庫
mysql> quit