Linux下 mysql oracle 簡單使用手冊

來源:互聯網
上載者:User

安裝好mysql後,配置好環境變數,然後
敲入 mysql
進入mysql
然後可以
Use mysql;
Select * from user;
來查看所有的使用者;
Mysql 下執行指令檔:
Mysql > source xxx.sql;
1.1 兩種方式增加使用者:(轉)
有2個不同的方法增加使用者:通過使用GRANT語句或通過直接操作MySQL授權表。比較好的方法是使用GRANT語句,因為他們是更簡明並且好像錯誤少些。
下面的例子顯示出如何使用MySQL客戶安裝新使用者。這些例子假定許可權已預設被安裝。這意味著為了改變,你必須在MySQL正在運行同一台機器上,你必須作為MySQL root使用者串連,並且root使用者必須對MySQL資料庫有insert許可權和reload系統管理權限。另外,如果你改變了root使用者口令,你必須如下的MySQL命令指定它。
你可以通過發出GRANT語句增加新使用者:
shell> mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"
IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;
這些GRANT語句安裝3個新使用者:
monty:可以從任何地方串連伺服器的一個完全的超級使用者,但是必須使用一個口令('something'做這個。注意,我們必須對monty@localhost和monty@"%"發出GRANT語句。如果我們增加localhost條目,對localhost的匿名使用者條目在我們從本地主機串連接時由mysql_install_db建立的條目將優先考慮,因為它有更特定的Host欄位值,所以以user表排列順序看更早到來。
admin:可以從localhost沒有一個口令進行串連並且被授予reload和process系統管理權限的使用者。這允許使用者執行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒有授予資料庫有關的許可權。他們能在以後通過發出另一個GRANT語句授權。
dummy:可以不用一個口令串連的一個使用者,但是只能從本地主機。全域許可權被設定為'N'--USAGE權限類別型允許你無需許可權就可設定一個使用者。它假定你將在以後授予資料庫相關的許可權。
你也可以直接通過發出INSERT語句增加同樣的使用者存取資訊,然後告訴伺服器再次裝入授權表:
shell> mysql --user=root mysql
mysql> INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql> INSERT INTO user VALUES('%','monty',PASSWORD('something'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql> INSERT INTO user SET Host='localhost',User='admin',
Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;
取決於你的MySQL版本,對上述,你可能必須使用一個不同數目'Y'值(在3.22.11以前的版本有更少的許可權列)。對admin使用者,只用在3.22.11開始的版本具有的更加可讀的INSERT擴充的文法。
注意,為了設定一個超級使用者,你只需創造一個user表條目,其許可權欄位設為'Y'。不需要db或host表的條目。
在user表中的許可權列不是由最後一個INSERT語句明確設定的(對dummy使用者),因此那些列被賦予預設值'N'。這是GRANT USAGE做的同樣的事情。
下列例子增加一個使用者custom,他能從主機localhost、server.domain和whitehouse.gov串連。他只想要從localhost存取bankaccount資料庫,從whitehouse.gov存取expenses資料庫和從所有3台主機存取customer資料庫。他想要從所有3台主機上使用口令stupid。
為了使用GRANT語句設定個使用者的許可權,運行這些命令:
shell> mysql --user=root mysql
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON bankaccount.*
TO custom@localhost
IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON expenses.*
TO custom@whitehouse.gov
IDENTIFIED BY 'stupid';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON customer.*
TO custom@'%'
IDENTIFIED BY 'stupid';
通過直接修改授權表設定使用者權限,運行這些命令(注意,在結束時FLUSH PRIVILEGES):
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host,User,Password)
VALUES('localhost','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password)
VALUES('server.domain','custom',PASSWORD('stupid'));
mysql> INSERT INTO user (Host,User,Password)
VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES
('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO db
(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');
mysql> FLUSH PRIVILEGES;
頭3個INSERT語句增加user表條目,允許使用者custom用給定口令從不同的主機進行串連,但是沒有授予任何許可(所有許可權被設定為預設值'N')。後3個INSERT語句增加db表條目,授予custom以bankaccount、expenses和customer資料庫許可權,但是只能在從正確的主機存取時。通常,在授權表直接被修改時,伺服器必須被告知再次裝入他們(用FLUSH PRIVILEGES)以便使許可權修改生效。
如果你想要給特定的使用者從一個給定的域上的任何機器上存取許可權,你可以發出一個如下的GRANT語句:
mysql> GRANT ...
ON *.*
TO myusername@"%.mydomainname.com"
IDENTIFIED BY 'mypassword';
為了通過直接修改授權表做同樣的事情,這樣做:
mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',
PASSWORD('mypassword'),...);
mysql> FLUSH PRIVILEGES;
你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授權表中插入、改變和更新值。你可以在MySQL的Contrib目錄找到這些公用程式。 (T004)
1.2 忘記密碼怎麼辦?
1. 先殺掉mysqld的進程:
Kill –TERM mysqld
2. 使用skip-grant-tables這個選項啟動MySQL:
/usr/bin/mysqld_safe –skip-grant-tables
3. 登入修改密碼:
#mysql –u root –p
Mysql>use mysql;
Mysql>update user set password=password(‘new_pass')where user ='root';
Mysql>flush privileges;
Mysql>exit;
4. 關掉MySQL
#mysqladmin –u root –p shutdown
5. 啟動MySQL
/user/bin/mysqld_safe –user=mysql&
2. Mysql 如何匯入匯出資料庫
(轉載 http://hi.baidu.com/chenshengang/blog/item/644f7a16c49016064a90a7ab.html)
如何匯入匯出MySQL資料庫
發布: 2008-4-01 11:26 | 作者: 劍心通明 | 來源: 本站論壇 | 查看: 111次
MySQL資料庫的匯入,有兩種方法:
1) 先匯出資料庫SQL指令碼,再匯入;
2) 直接拷貝資料庫目錄和檔案。
在不同作業系統或MySQL版本情況下,直接拷貝檔案的方法可能會有不相容的情況發生。
所以一般推薦用SQL指令碼形式匯入。下面分別介紹兩種方法。
2. 方法一 SQL指令碼形式
操作步驟如下:
2.1. 匯出SQL指令碼
在原資料庫伺服器上,可以用phpMyAdmin工具,或者mysqldump(mysqldump命令位於mysql/bin/目錄中)命令列,匯出SQL指令碼。
2.1.1 用phpMyAdmin工具
匯出選項中,選擇匯出“結構”和“資料”,不要添加“Drop DATABASE”和“Drop TABLE”選項。
選中“另存新檔檔案”選項,如果資料比較多,可以選中“gzipped”選項。
將匯出的SQL檔案儲存下來。
2.1.2 用mysqldump命令列
命令格式
mysqldump -u使用者名稱 -p 資料庫名 > 資料庫名.sql
範例:
mysqldump -uroot -p abc > abc.sql
(匯出資料庫abc到abc.sql檔案)
提示輸入密碼時,輸入該資料庫使用者名稱的密碼。
2.2. 建立空的資料庫
通過主控介面/控制台,建立一個資料庫。假設資料庫名為abc,資料庫全權使用者為abc_f。
2.3. 將SQL指令碼匯入執行
同樣是兩種方法,一種用phpMyAdmin(mysql資料庫管理)工具,或者mysql命令列。
2.3.1 用phpMyAdmin工具
從控制台,選擇建立的空資料庫,點“管理”,進入管理工具頁面。
在"SQL"菜單中,瀏覽選擇剛才匯出的SQL檔案,點擊“執行”以上傳並執行。
注意:phpMyAdmin對上傳的檔案大小有限制,php本身對上傳檔案大小也有限制,如果原始sql檔案
比較大,可以先用gzip對它進行壓縮,對於sql檔案這樣的文字檔,可獲得1:5或更高的壓縮率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz檔案。
2.3.2 用mysql命令列
命令格式
mysql -u使用者名稱 -p 資料庫名 < 資料庫名.sql
範例:
mysql -uabc_f -p abc < abc.sql
(匯入資料庫abc從abc.sql檔案)
提示輸入密碼時,輸入該資料庫使用者名稱的密碼。
3 方法二 直接拷貝
如果資料庫比較大,可以考慮用直接拷貝的方法,但不同版本和作業系統之間可能不相容,要慎用。
3.1 準備原始檔案
用tar打包為一個檔案
3.2 建立空資料庫
3.3 解壓
在臨時目錄中解壓,如:
cd /tmp
tar zxf mydb.tar.gz
3.4 拷貝
將解壓後的資料庫檔案拷貝到相關目錄
cd mydb/
cp * /var/lib/mysql/mydb/
對於FreeBSD:
cp * /var/db/mysql/mydb/
3.5 使用權限設定
將拷貝過去的檔案的屬主改為mysql:mysql,許可權改為660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*
3.linux 下的oracle使用
真是變態的公司,一個項目還要用oracle+mysql,真是麻煩,不過還得學
Linux下安裝oracle比較麻煩,但是初期的環境檢查很重要,還是老老實實的按照要求安裝吧。
使用就是
Sqlplus /nolog
Connect xxx/xxx as sysdba;
Startup
./dbca是個建立庫的可視化介面。
啟動 /snrctl
./netca --啟動listener
Oracle下執行指令檔
Sqlplus>@xxx.sql

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.