### 一, Mysql簡介
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬于Oracle公司。Mysql是最流行的關系型數據庫管理系統,在WEB應用方面MySQL是最好的RDBMS(Relational Database Management System:關系數據庫管理系統)應用軟件之一。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數據庫的最常用標準化語言。MySQL軟件采用了雙授權政策(本詞條“授權政策”),它分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站數據庫。由于其社區版的性能卓越,搭配PHP和Apache可組成良好的開發環境。
### 二, Mysql下載
? ? 1)下載cmake(MySQL編譯工具)
? ? wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
? ? 2)下載Mysql。由于版本更新可能以前版本已不存在。進入mysql查找即可。
? ?http://dev.mysql.com/Downloads/MySQL-5.5/mysql-5.5.27.tar.gz
? ? 3)本次安裝所有的軟件資源包下載地址
? ??[http://download.csdn.net/detail/clevercode/8662323](http://download.csdn.net/detail/clevercode/8662323)
### 三, Mysql安裝
#### 3.1 配置防火墻
? ? 1) 在防火墻配置文件中添加一行3306端口
~~~
# vi /etc/sysconfig/iptables ? #編輯防火墻配置文件 ?
? ? -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306端口通過防火墻)
~~~
? ? 2)重啟防火墻
~~~
? ? # /etc/init.d/iptables restart ?#最后重啟防火墻使配置生效
? ?
~~~
#### 3.2 安裝cmake
? ? 1) 解壓。安裝前確保進行安裝Linux常備支持庫,Linux中必備常用支持庫的安裝:[http://blog.csdn.net/clevercode/article/details/45438401](http://blog.csdn.net/clevercode/article/details/45438401)。
~~~
? ? # cd /usr/local/src/mysql
? ? # tar zxvf cmake-2.8.8.tar.gz
? ? # cd cmake-2.8.8
~~~
? ??
? ? 2) 配置
~~~
? ? # ./configure
~~~
? ??
? ? 3) 編譯
~~~
? ? # make
~~~
? ? 4) 安裝
~~~
? ? # make install
? ?
~~~
? ??
? ? 5 )查看版本
~~~
? ? # cmake -version
~~~
#### 3.3 安裝Mysql
1) 創建用戶
~~~
?# groupadd mysql ?#添加mysql組 ? ?
?# useradd -g mysql mysql -s /bin/false ?#創建用戶mysql并加入到mysql組,不允許mysql用戶直接登錄系統
~~~
2) 配置MySQL數據庫存放目錄與安裝目錄
~~~
?# mkdir -p /data0/mysql ?#創建MySQL數據庫存放目錄 ? ?
?# chown -R mysql:mysql /data0/mysql ? #設置MySQL數據庫目錄權限
?# mkdir -p /usr/local/mysql #創建MySQL安裝目錄
~~~
3) 解壓
~~~
?# cd /usr/local/src/mysql
?# tar zxvf mysql-5.5.27.tar.gz
?# cd mysql-5.5.27
~~~
4) 配置
~~~
?# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql ?-DMYSQL_DATADIR=/data0/mysql ?-DSYSCONFDIR=/etc
~~~
5)編譯
~~~
?# make
~~~
6)安裝
`?# make install `
7) 配置my.cnf
方式一:手動修改
~~~
?# cd /usr/local/mysql ? ?
?# cp ./support-files/my-huge.cnf ?/etc/my.cnf ? ?#拷貝配置文件(注意:如果/etc目錄下面默認有一個my.cnf,直接覆蓋即可) ? ?
?# vi /etc/my.cnf ? #編輯配置文件,在 [mysqld] 部分增加下面一行 ? ?
datadir = /data0/mysql ?#添加MySQL數據庫路徑 ? ?
:wq! ?#保存退出 ?
~~~
方式二:使用已經配置好的文件(配置文件下載地址:??[http://download.csdn.net/detail/clevercode/8662323](http://download.csdn.net/detail/clevercode/8662323))
備份
~~~
?# cp /etc/my.cnf /etc/my.cnf_bak_20141117
?# cd /etc
?# rz my.cnf
~~~
8) 生成mysql系統數據庫
~~~
?# cd /usr/local/mysql
?# ./scripts/mysql_install_db --user=mysql
~~~
9) 把Mysql加入系統啟動?
~~~
?# cp ./support-files/mysql.server ?/etc/rc.d/init.d/mysqld ?#把Mysql加入系統啟動 ? ?
?# chmod 755 /etc/init.d/mysqld ? #增加執行權限 ? ?
/******* chkconfig mysqld on ****/ #設置開機啟動 (如果機器重啟,最好手動重啟服務,因為不知道哪些服務需要先起來,所以一般不加入開機啟動,所以注釋) ?
# vi /etc/rc.d/init.d/mysqld ?#編輯 ? ?
basedir=/usr/local/mysql ? #MySQL程序安裝路徑 ? ?
datadir=/data0/mysql ?#MySQl數據庫存放目錄 ? ?
service mysqld start ?#啟動
~~~
10) 把mysql服務加入系統環境變量
~~~
?# vi /etc/profile ? #把mysql服務加入系統環境變量:在最后添加下面這一行 ? ?
export PATH=$PATH:/usr/local/mysql/bin ? ?
:wq! #保存退出
~~~
11) 指定mysql的庫文件地址
下面這兩行把myslq的庫文件鏈接到系統默認的位置,在編譯類似PHP等軟件時可以不用指定mysql的庫文件地址。 ? ?
~~~
?# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql ? ?
?# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
~~~
12) 修改Mysql的root密碼。安裝完mysql后,root的默認密碼為空。
方式一:
mysql默認root用戶沒有密碼,輸入mysql -uroot 進入mysql
~~~
?# mysql -uroot
mysql>update user set password=PASSWORD(‘123456’) where User='root';
mysql>flush privileges;
~~~
方式二:
1)如果是剛安裝完mysql或者密碼為空,是用以下方式修改。
`?# /usr/local/mysql/bin/mysqladmin -u root password "123456" `
2) 如果不是剛安裝完并且密碼不為空,使用以下方式。即加入-p,提示需要輸入舊密碼。
`?# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"`
13) 重啟
~~~
?# service mysqld restart
~~~
### 四, Mysql啟動停止重啟
? ? 1) 狀態
`? ? ?# service mysqld status `
? ??
? ? 2) 啟動
`? ? ?# service mysqld start `
? ??
? ? 3)停止
`? ? ?# service mysqld stop `
? ??
? ? 4) 重啟 ? ?
`? ? ?# service mysqld restart? `
? ??
? ? 5) 查看3306端口監聽狀態
`? ? ?# netstat -an | grep 3306 `
### 五, Mysql配置遠程登錄
? ? 1)配置所有IP可以訪問
~~~
? ? ? ? #mysql -uroot -p123456
? ? ? ? mysql> grant all privileges on ?*.* to 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
? ? ? ? mysql> flush privileges;
~~~
? ??
? ? 2)配置制定IP可以訪問
? ? ? ? 如果你想允許用戶jack從ip為10.10.50.127的主機連接到mysql服務器,并使用654321作為密碼
~~~
? ? ? ? mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’101.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;
? ? ? ? mysql>FLUSH RIVILEGES;
~~~
? ??
? ? 3)配置一個類似root用戶可以有所有權限的用戶
~~~
? ? ? ? mysql> grant all privileges on ?*.* to 'clevercode'@'%' IDENTIFIED BY 'clevercode#er239' WITH GRANT OPTION;
? ? ? ? mysql> flush privileges;
? ??
~~~
### 六,6 Mysql查看位數?
~~~
? ? mysql> show variables like '%version_%';
? ? version_compile_machine:i686 為32位,x86_64為64位。
~~~

### 七, Mysql狀態查看
?mysql> status;

### 八,Linux中連接遠程mysql數據庫
用root用戶,密碼為123456,連接IP:192.168.1.100,端口為3306。
`?#?mysql -uroot -p123456 -h 192.168.1.100 -P3306`
### 九,Navicat連接遠程mysql設置
1) 連接配置。(單擊連接)

2)編碼配置。(選擇連接的頁簽,單擊右鍵,選擇連接屬性)
如果在寫入的時候是gbk,那么使用navicat讀出來的時候也應該使用gbk,不用管數據庫是用什么編碼存放的。如果寫入的時候是utf8,那么客戶端讀取數據的時候也應該使用utf8.如下圖,php寫入的時候是gbk,那么navicat讀出數據需要用gbk編碼。設置為:936 (ANSI/OEM - Simplified Chinese GBK)

**版權聲明:**
1)原創作品,出自"CleverCode的博客",轉載時請務必注明以下原創地址,否則追究版權法律責任。
2)原創地址:[http://blog.csdn.net/clevercode/article/details/45499231](http://blog.csdn.net/clevercode/article/details/45499231)(轉載務必注明該地址)。
3)博客專欄地址(Linux常用軟件安裝與配置):[http://blog.csdn.net/column/details/linuxsoftwareinstall.html](http://blog.csdn.net/column/details/linuxsoftwareinstall.html)(持續增加,關注請收藏)。
4)歡迎大家關注我博客更多的精彩內容:[http://blog.csdn.net/CleverCode](http://blog.csdn.net/CleverCode)。