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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章