1
2
實際上我們安裝mysql的時候,可以選擇安裝server或者client,
如果隻是安裝有client端的話,要連接配接到安裝有server的伺服器端才能通路。client提供了和sql腳本互動以及連接配接某個特定mysql伺服器的功能。
我們因為需要安裝server,使用如下的指令就可以,而且同時也将client也包含安裝在内了。
安裝過程中會提示輸入root帳号的密碼。root是mysql系統中的管理者角色,具有最高的權限。
輸入密碼之後會提示再次确認密碼,如下圖:
确認完密碼之後系統會自動完成後續的安裝過程。
安裝過程之後,我們就可以登入進入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