天天看點

Ubuntu安裝配置mysql 安裝 root登入 建立新使用者 建立表,并且賦予新使用者權限 如何執行外部腳本 配置和管理msyql

1

2

實際上我們安裝mysql的時候,可以選擇安裝server或者client,

如果隻是安裝有client端的話,要連接配接到安裝有server的伺服器端才能通路。client提供了和sql腳本互動以及連接配接某個特定mysql伺服器的功能。

我們因為需要安裝server,使用如下的指令就可以,而且同時也将client也包含安裝在内了。

安裝過程中會提示輸入root帳号的密碼。root是mysql系統中的管理者角色,具有最高的權限。

Ubuntu安裝配置mysql 安裝 root登入 建立新使用者 建立表,并且賦予新使用者權限 如何執行外部腳本 配置和管理msyql

輸入密碼之後會提示再次确認密碼,如下圖:

Ubuntu安裝配置mysql 安裝 root登入 建立新使用者 建立表,并且賦予新使用者權限 如何執行外部腳本 配置和管理msyql

确認完密碼之後系統會自動完成後續的安裝過程。

安裝過程之後,我們就可以登入進入mysql server了。mysql 預設的情況下是不允許匿名登入的。如果我們輸入如下的指令:mysql,可能會得到如下的錯誤資訊:

既然我們前面指定了root使用者的密碼,可以采用如下的指令來登入:

-u 選項用來指定登入的使用者,後面的root表示采用root帳号登入。-p選項表示采用密碼驗證的方式登入。

在輸入前面的指令後,系統會提示輸入密碼,如果正确的話就可以進入系統了。

在大多數情況下,如果我們将結合mysql進行一些開發工作的話,不會直接采用root賬戶。一般root賬戶用來做一些系統管理和維護的工作,而且因為root權限太高。如果mysql系統出現問題容易導緻所有資料的破壞。是以我們需要專門建立一個特定的使用者,由root來給它指派一定的權限。這樣,就算該賬戶出現問題,造成的損失也可能隻是該帳号權限範圍内的,不至于整體的破壞。

比如說我們要建立一個新的使用者,并設定該使用者的通路密碼,在以root使用者登入進入系統後,執行如下指令:

建立使用者

建立成功後會提示

修改密碼

修改成功提示

配置新使用者權限

假設我們需要将sampledb的全部權限賦予新建立的使用者frank,我們需要執行如下的指令:

這是設定權限最簡單的一種方式,表示将資料庫sampledb的所有通路權限都賦予使用者gatieme.如果需要更加細粒度的控制,則需要考慮不同的通路操作以及資料庫的不同部分。

當我們配置好使用者之後就可能需要執行一些sql腳本。腳本的執行方式有幾種,一種是沒有登入進入mysql server的情況下。典型的執行方式如下:

或者

這兩種方式分别基于使用者認證和非認證的方式來執行。

在登入進入mysql的情況下,可以采用更簡單的方式執行:

增加或修改max_connections=1024

關于my.cnf:mysql按照下列順序搜尋my.cnf:/etc,mysql安裝目錄,安裝目錄下的data。/etc下的是全局設定。

檢視mysql版本:mysqladmin -u root -p version

網上安裝或者二進制安裝的可以直接使用如下指令啟動和停止mysql:

mysqladmin -uroot -ppassw0rd shutdown 注意,u,p後沒有空格

把啟動指令加入/etc/rc.local檔案中

1)本機登陸mysql:mysql -u root -p (-p一定要有);改變資料庫:use mysql;

2)從所有主機:grant all privileges on . to root@”%” identified by “passw0rd” with grant option;

3)從指定主機:grant all privileges on . to root@”192.168.11.205” identified by “passw0rd” with grant option; flush privileges;

4) 進mysql庫檢視host為%的資料是否添加:use mysql; select * from user;

1) 建庫:create database test1;

2) 建使用者,賦權:grant all privileges on test1.* to user_test@”%” identified by “passw0rd” with grant option;

3)删除資料庫:drop database test1;

删除權限:

1) revoke all privileges on test1.* from test1@”%”;

2) use mysql;

3) delete from user where user=”root” and host=”%”;

4) flush privileges;

3

4

5

6

7

8

9

10

11

12

13

14

15

mysql -h ip -u user -p

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

cd mysql-data-dir

tar cvzf mysql-snapshot.tar ./mydb

“`

注意:快照中不應該包含任何日志檔案或.info檔案,隻應該包含要複制的資料庫的資料檔案(.frm和*.opt)檔案。

可以用資料庫備份(mysqldump)為從伺服器做一次資料恢複,保證資料的一緻性。

4). 确認主伺服器上my.cnf檔案的[mysqld]section包含log-bin選項和server-id,并啟動主伺服器:

log-bin=mysql-bin

server-id=1

5). 停止從伺服器,加入server-id,然後啟動從伺服器:

server-id=2

注:這裡的server-id是從伺服器的id,必須與主伺服器和其他從伺服器不一樣。

可以在從伺服器的配置檔案中加入read-only選項,這樣從伺服器就隻接受來自主伺服器的sql,確定資料不會被其他途經修改。

6). 在從伺服器上執行如下語句,用系統真實值代替選項:

change master to master_host=’master_host’, master_user=’replication_user’,master_password=’replication_pwd’,        master_log_file=’recorded_log_file_name’,master_log_pos=log_position;

7). 啟動從線程:mysql> start slave; 停止從線程:stop slave;(注意:主伺服器的防火牆應該允許3306端口連接配接)

驗證:此時主伺服器和從伺服器上的資料應該是一緻的,在主伺服器上插入修改删除資料都會更新到從伺服器上,建表,删表等也是一樣的。

轉載:http://blog.csdn.net/gatieme/article/details/44983831