Linux下 mysql & oracle 簡單使用手冊

Linux mysql & oracle 簡單使用手冊

1.linux下使用Mysql 簡單說明

 

安裝好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@localhostmonty@"%"發出GRANT語句。如果我們增加localhost條目,對localhost的匿名用戶條目在我們從本地主機連接接時由mysql_install_db創建的條目將優先考慮,因爲它有更特定的Host字段值,所以以user表排列順序看更早到來。

admin:可以從localhost沒有一個口令進行連接並且被授予reloadprocess管理權限的用戶。這允許用戶執行mysqladmin reloadmysqladmin refreshmysqladmin 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'。不需要dbhost表的條目。

user表中的權限列不是由最後一個INSERT語句明確設置的(dummy用戶),因此那些列被賦予缺省值'N'。這是GRANT USAGE做的同樣的事情。

下列例子增加一個用戶custom,他能從主機localhostserver.domainwhitehouse.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 [email protected]

      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;

3INSERT語句增加user表條目,允許用戶custom用給定口令從不同的主機進行連接,但是沒有授予任何許可(所有權限被設置爲缺省值'N')。後3INSERT語句增加db表條目,授予custombankaccountexpensescustomer數據庫權限,但是隻能在從正確的主機存取時。通常,在授權表直接被修改時,服務器必須被告知再次裝入他們(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;

你也可以使用xmysqladminmysql_webadmin甚至xmysql在授權表中插入、改變和更新值。你可以在MySQLContrib目錄找到這些實用程序。 (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
(導出數據庫abcabc.sql文件)

提示輸入密碼時,輸入該數據庫用戶名的密碼。

2.2.
創建空的數據庫
通過主控界面/控制面板,創建一個數據庫。假設數據庫名爲abc,數據庫全權用戶爲abc_f

2.3.
SQL腳本導入執行
同樣是兩種方法,一種用phpMyAdminmysql數據庫管理)工具,或者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
(導入數據庫abcabc.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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章