Linux Mysql5.6 安裝

背景:這兩天完成了一個項目數據庫的切換,從Oracle -> Mysql。需要部署上去了,要求mysql要運行Linux環境。還是學校的時候玩過Linux,於是現在就有了這個摸索。


準備:安裝好的Linux,我的是Redhat 5.5;         Windows下鏈接Linux用的工具,可用來將你下載好的mysql數據庫傳到Linux上面去,我的是 SSH Source Shell;             Linux版本mysql,mysql有好些類型的版本,rpm、resource、binaries等,最好用的就是binaries的。mysql官方下載鏈接:http://dev.mysql.com/downloads/mysql/#downloads       選 Linux -Generic,然後選帶Compressed  字樣的  以  .tar.gz結尾的下載(編譯好的壓縮包)


安裝:

1、在windows下先把下載好的Mysql數據庫用工具(準備中提到的工具)放到Linux的 /usr/local/ 下面去。

2、在Linux下,運行下面的命令,安裝Mysql(引自官方文檔:http://dev.mysql.com/doc/refman/5.6/en/binary-installation.html)。

  1. shell> groupadd mysql
  2. shell> useradd -r -g mysql mysql
  3. shell> cd /usr/local
  4. shell> tar zxvf 這裏寫你的.tar.gz包名
  5. shell> ln -s 這裏寫你的.tar.gz包解壓後的文件名 mysql
  6. shell> cd mysql
  7. shell> chown -R mysql .
  8. shell> chgrp -R mysql .
  9. shell> scripts/mysql_install_db --user=mysql
  10. shell> chown -R root .
  11. shell> chown -R mysql data
  12. shell> bin/mysqld_safe --user=mysql &


3、讓mysql 的root 用戶能使用遠程鏈接。

shell> cd /usr/local/mysql/bin 
shell> ./mysql
mysql> grant all privileges on *.* to root@'%' identified by '123456' with grant option;

4、修改Linux防火牆,開通3306端口,讓外部能鏈接上Mysql。
意思就是修改一下Linux防火牆配置文件,讓它不攔截3306端口。
這個文件的路徑是   /etc/sysconfig/iptables

修改方法:把  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT    這句複製再插入,然後把 22 改成3306 就行了。注意,請插入在 
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited  這句之前。
我的是這樣的:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

重啓防火牆,讓修改生效。

shell> service iptables stop
shell> service iptables start

那麼,恭喜,現在你就可以讓window的工具去訪問你Linux 上的 mysql數據庫了。

我用的是:SQLyog

附:

安裝好後還遇到些問題。

1、Linux 上數據庫表是區分大小寫的。這導致程序報 找不到XXX表 的錯誤,我需要mysql對錶名大小寫不敏感。

2、Linux 上數據庫的編碼問題,我需要utf8的。

3、性能優化、安全設置等。

我對1、2的解決:在啓動mysql 數據庫的時候指定好。

shell> cd /usr/local/mysql
shell> ./mysqld_safe --user=mysql --lower_case_table_names=1  --character_set_server=utf8 & 

mysql 關閉命令:
shell> ./mysqladmin shutdown
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章