1 下載下傳 MySQL 安裝包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
2 安裝 MySQL 依賴包
apt-get install build-essential
apt-get install libncurses5-devapt-get install cmake
提示:可通過 apt-cache depends 指令檢視以上程式包的相關依賴包。
CentOS:
yum groupinstall "Development Tools"yum install ncurses-devel
3 編譯并安裝 MySQL
1) 解壓 MySQL 安裝包
tar -zxf mysql-5.6.14.tar.gzcd mysql-5.6.14
2) 編譯 MySQL
cmake \
-DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DMYSQL_DATADIR=/opt/mysql/data \
-DSYSCONFDIR=/opt/mysql/conf \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
3) 安裝 MySQL
make -smake install -s
4 配置 MySQL
注意:以下操作均在 /opt/mysql 目錄下進行。
第一步:建立 MySQL 使用者
groupadd mysqluseradd -g mysql -s "/usr/sbin/nologin" mysql
CentOS:addgroup mysql
useradd -g mysql -s "/sbin/nologin" mysql
第二步:初始化資料庫
chown mysql:mysql -R data
./scripts/mysql_install_db --user=mysql
執行完畢後,将在 MySQL 根目錄下生成一個 my.cnf 檔案。
第三步:建立配置檔案
mkdir confmv my.cnf conf/
注意:在 CentOS 下,若 /etc/ 目錄下存在 my.cnf 檔案,則需要将其删除。
第四步:更改預設字元集為 UTF8
vim conf/my.cnf
...
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
...
為防止中文亂碼,建議将資料庫預設編碼方式統一改為 utf8,預設是 latin1。
第五步:添加啟動服務
cp support-files/mysql.server /etc/init.d/mysqld
update-rc.d mysqld defaults
移除啟動服務:update-rc.d -f mysqld remove
CentOS:
cp support-files/mysql.server /etc/init.d/mysqldchkconfig mysqld on
第六步:配置環境變量
vim ~/.bashrc
...
# MySQL
export PATH=$PATH:/opt/mysql/bin
source ~/.bashrc
5 啟動 MySQL 服務
service mysqld start
停止 MySQL 服務:
service mysqld stop
重新開機 MySQL 服務:
service mysqld restart
6 登入 MySQL
mysql -u root –p
随後需輸入 root 使用者密碼(root)。
7 設定 root 使用者密碼
set password = password('新密碼');
設定其他使用者密碼:set password for '使用者名'@'主機名' = password('新密碼');
指令行操作:mysqladmin -u root password '新密碼'
8 附錄
1) 清理 MySQL 使用者
select host, user, password from mysql.user;
delete from mysql.user where password = '';
flush privileges;
為了提高安全性,建議删除所有空密碼的使用者,僅保留 [email protected] 一個使用者。
2)建立使用者
create user '使用者名'@'主機名' identified by '密碼';
主機名可用 localhost、具體 IP、%(任意 IP)。
删除使用者:
drop user '使用者名'@'主機';
3)授權
grant 權限 on 資料庫名.表名 to '使用者名'@'主機名';
權限包括:all、select、insert、update、delete 等,多種權限可用“,”分割。
表名可用“*”通配符。
撤銷授權:
revoke 權限 on 資料庫名.表名 from '使用者名'@'主機名';
4) 遠端通路 MySQL
若需要通過 root 使用者遠端通路 MySQL,則需要修改 mysql.user 表的 host 為“%”。
update mysql.user set host = '%' where user = 'root';
flush privileges;
5) 開放 MySQL 端口
對于 CentOS 而言,需要對外開放 3306 端口。
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/init.d/iptables saveservice iptables restart
檢視 iptables:
/etc/init.d/iptables status或vim /etc/sysconfig/iptables