一、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;