一、ubuntu安装mysql5.6二进制压缩包(tar.gz)

准备
0. 获取 mysql-5.5.15-linux2.6-i686.tar.gz 二进制安装文件
mysql 官网下载页面选择 Linux-Generic 下的 Linux - Generic 2.6 (x86, 32-bit), Compressed (位数适你的linux的位数而定。我这里用的是32位的,所以我选择32位版本的mysql)
你可以在ubuntu 中使用 wget 命令获取,或者任何一种下载工具都可以,只要有 mysql 的 tar.gz 安装文件就行。


1. 安装 mysql 所使用的依赖

  sudo apt-get install libaio1


步骤
安装步骤参考mysql官方安装文档
# 表示当前是 root 用户
$ 表示当前普通用户
pwd 表示当前所在目录

0.添加 mysql 用户组
  # groupadd mysql 
1.添加 msyql 用户到 mysql 用户组 
  # useradd -r -g mysql mysql  
2.解压 mysql-5.5.15-linux2.6-i686.tar.gz 到 /usr/local 
进入 /usr/local   # cd /usr/local  
我的 tar.gz 文件路径是 /home/user/mysql-5.5.15-linux2.6-i686.tar.gz,你根据你的mysql安装文件路径调整命令参数 
pwd: /usr/local   # tar zxvf /home/user/mysql-5.5.15-linux2.6-i686.tar.gz  
3.在 /usr/local 下添加名为 mysql 指向解压的文件夹的软连接 
  pwd: /usr/local # ln -s mysql-5.5.15-linux2.6-i686 mysql  
4.进入 mysql 目录 
  pwd: /usr/local # cd mysql  
5.设置 mysql 目录的拥有者和所属的用户组 
pwd: /usr/local/mysql   # chown -R mysql .  
  # chgrp -R mysql .  
6.执行mysql 安装脚本 
pwd: /usr/local/mysql   # scripts/mysql_install_db --user=mysql  
    注意:这里可能会提示缺少libaio1这个库,只要安装即可: sudo apt-get install libaio17.再次设置 mysql 目录的拥有者 
pwd: /usr/local/mysql   # chown -R root .  
8.设置 data 目录的拥有者 
pwd: /usr/local/mysql   # chown -R mysql data  
安装后配置 
0.复制 mysql 配置文件 
pwd: /usr/local/mysql   # cp support-files/my-medium.cnf /etc/my.cnf  
    注意:mysql5.6之后已经没有了 large,medium等这些文件了...本文使用的是my-default.cnf来作为源文件拷贝到my.cnf1.启动 mysql 
  pwd: /usr/local/mysql # bin/mysqld_safe --user=mysql &  
2.初始化 root 用户密码 
pwd: /usr/local/mysql   # bin/mysqladmin -u root password 'new_password'  
3.复制mysql.server 脚本 
pwd: /usr/local/mysql   # cp support-files/mysql.server /etc/init.d/mysql.server  
好了,mysql配置基本完成 可以查看mysql的状态,结果可能是 "MySQL is runnin"或者是" MySQL is not running" 
  $ sudo /etc/init.d/mysql.server status  
如果地切顺利,mysql是正常运行的,而且可以通过 mysql客户端,进入mysql   $ /usr/local/mysql/bin/mysql -u root -p  
    注意:这里登录进去后要配置下允许root用户远程登录:             MySQL> GRANT ALL PRIVILEGES ON *.* TOroot@"%" IDENTIFIED BY '123456'  WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

可以使用命令让mysql 停止运行

  $ sudo /etc/init.d/mysql.server stop


让mysql 启动

  $ sudo /etc/init.d/mysql.server start
查看状态

  $ sudo /etc/init.d/mysql.server status
或者使用service命令,让mysql 启动,停止

  $ sudo service mysql.server [status|start|stop]

可选配置
0.让mysql开机自己启动

  $ sudo update-rc.d -f mysql.server defaults


如果不想让mysql开机自己启动,可以使用

  $ sudo update-rc.d -f mysql.server remove
1.把 /usr/local/mysql/bin/mysql 命令加到用户命令中,这样就不用每次都加 mysql命令的路径

  $ sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
现在就直接可以使用 mysql 命令了

  $ mysql -u root -p
需要注意的是我用之前版本mysql,配置数据库默认编码是在 [mysqld]下加 default-character-set=utf8
而 mysql 5.5.17用这个配置,似乎是错的,将导致 mysql 不能正常启动。将配置改为 character-set-server=utf8 即可。

 

二、设置navicat远程连接mysql

(一)can‘t connect to MySql server on ‘192.168.X.X’

这是因为mysql端口被防火墙拦截,需用linux执行如下指令:
1.#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2.#/etc/rc.d/init.d/iptables save
3.#/etc/init.d/iptables restart
4.查看端口是否开启#/etc/init.d/iptables status

 

(二) 设置远程连接到mysql服务器

1)任何主机
host:~#  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
2)只允许用户root从ip为192.168.x.x的主机连接到mysql服务器,并使用password作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.x.x' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH   PRIVILEGES;
如果你想允许用户root从ip为192.168.x.x'的主机连接到mysql服务器的某个数据库,并使用password作为密码
GRANT ALL PRIVILEGES ON 数据库名.* TO 'root'@'192.168.x.x' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH   PRIVILEGES;