ubuntu系统安装mysql二进制压缩包(tar.gz)以及navicat远程连接服务器(linux系统)

时间:2022-06-04 21:05:59

一、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 安装文件就行。

wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.5/mysql-5.5.15-linux2.6-i686.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 libaio1

7.再次设置 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.cnf

1.启动 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;