Ubuntu 下安装MySQL 5.6/5.7数据库教程(14.04/16.04)

本文将会讲述在ubuntu 系统下安装及配置MySQL 5.6/5.7 数据库的方法。本文主要通过两种方法来讲述mysql数据库的安装,一种是通过apt-get命令,另一种是源码包编译安装。(以ubuntu 16.04 为示例)

MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合[3]  。-摘自百度百科

Ubuntu安装 MySQL 5.6 数据库(14.04/16.04)

方法一:通过apt-get 命令安装指定版本MySQL 5.6

对于ubuntu16.04 的系统,默认软件源的mysql版本是5.7, 所以如果想安装指定版本的MySQL 5.6,会提示“E:软件包 mysql-server-5.6 没有安装候选”

$ sudo apt-get install mysql-server-5.6

输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
没有可用的软件包 mysql-server-5.6,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
然而下列软件包会取代它:
percona-xtradb-cluster-server-5.6:i386 percona-server-server-5.6:i386
percona-xtradb-cluster-server-5.6 percona-server-server-5.6
mysql-testsuite-5.7:i386 mariadb-server-10.0:i386 mysql-testsuite-5.7
mariadb-server-10.0 mysql-server-core-5.7:i386 mysql-server-5.7:i386
mysql-server-core-5.7 mysql-server-5.7
E: 软件包 mysql-server-5.6 没有可安装候选

如果要在ubuntu 16.04 系统下安装指定版本的mysql 数据库,可以参照下面的步骤:

1# 增加旧的repo

执行下面命令:

$ sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'

2# 更新源

$ apt-get update
命中:1 http://mirrors.aliyun.com/ubuntu xenial InRelease
命中:2 http://mirrors.aliyun.com/ubuntu xenial-security InRelease
命中:3 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease
命中:4 http://mirrors.aliyun.com/ubuntu xenial-proposed InRelease
命中:5 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease
忽略:6 http://dl.google.com/linux/chrome/deb stable InRelease
命中7 http://dl.google.com/linux/chrome/deb stable Release
命中:9 http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease
忽略:10 http://archive.ubuntu.com/ubuntu trusty InRelease
获取:11 http://archive.ubuntu.com/ubuntu trusty Release [58.5 kB]
获取:12 http://archive.ubuntu.com/ubuntu trusty Release.gpg [933 B]
获取:13 http://archive.ubuntu.com/ubuntu trusty/main amd64 Packages [1,350 kB]
获取:14 http://archive.ubuntu.com/ubuntu trusty/main i386 Packages [1,348 kB]
已下载 2,758 kB,耗时 4分 35秒 (10.0 kB/s)
正在读取软件包列表... 完成

3# 查看软件源里时候有mysql 5.6 可供安装

$ apt-cache search mysql | grep 5.6

命令输出如下:

percona-server-server-5.6 - Percona Server database server binaries
percona-server-test-5.6 - Percona Server database test suite
percona-xtradb-cluster-server-5.6 - Percona XtraDB Cluster database server binaries
mysql-client-5.6 - MySQL database client binaries
mysql-client-core-5.6 - MySQL database core client binaries
mysql-common-5.6 - MySQL 5.6 specific common files, e.g. /etc/mysql/conf.d/my-5.6.cnf
mysql-server-5.6 - MySQL database server binaries and system database setup
mysql-server-core-5.6 - MySQL database server binaries
mysql-source-5.6 - MySQL source
mysql-testsuite-5.6 - MySQL 5.6 testsuite

4# 安装MySQL 5.6 数据库

执行下面的命令:

$ sudo apt-get install mysql-server-5.6 mysql-client-5.6

对于ubuntu 14.04 系统(英文该系统默认的最新的MySQL版本是5.6),只需要执行下面的命令安装即可:

$ sudo apt update
$ sudo apt upgrade
$ sudo apt-get install mysql-server mysql-client

方法二:通过MySQL.tar.gz 二进制包安装方式

1# 下载MySQL 5.6 二进制包

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
$ mv mysql-5.6.33-linux-glibc2.5-x86_64  /usr/local/mysql

2# MySQL创建数据日志目录和用户

a) 创建mysql目录

mkdir -p /mysql/data   #数据目录
mkdir -p /mysql/log      #日志目录

b) 创建MySQL用户

$ groupadd mysql
$ useradd -r -g mysql mysql

3# 创建my.cnf

创建my.cnf文件的目的主要是为了初始化时要用到它里面的一些配置

vim /etc/my.cnf

保存退出。

注意:如果系统中其它目录下还存在my.cnf文件请删除,可以用find查找一下

4# 安装相关软件包并初始化MySQL

a) 安装插件

$  sudo apt-get install libaio1

b) 初始化MySQL

执行下面命令:

$sudo  scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/mysql/data  --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
$ sudo chown -R mysql:mysql /mysql/ usr/local/mysql

5#配置mysql启动服务

$ sudo cp support-files/mysql.server /etc/init.d/mysql
$ sudo chmod +x /etc/init.d/mysql

6# MySQL配置环境变量

$ sudo vim /etc/profile

加入下面的配置行

export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

7# 启动MySQL 服务

$ service mysql start

Ubuntu安装MySQL 5.7 数据库(14.04/16.04)

方法一:通过apt-get 命令安装MySQL

当前最新的MySQL 版本是5.7, 接下来将会讲述如何使用apt-get 命令来安装MySQL 5.7.

1# 更新当前的系统

执行命令:

$ sudo apt update
$ sudo apt upgrade

2# 在ubuntu 16.4 系统上安装MySQL 5.7

执行下面命令:

$ sudo apt-get install mysql-server mysql-client

命令输出如下:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
libterm-readkey-perl mysql-client-5.7 mysql-client-core-5.7 mysql-common
mysql-server-5.7 mysql-server-core-5.7
Suggsted packages:
libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
libipc-sharedcache-perl mailx tinyca
The following NEW packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18
libterm-readkey-perl mysql-client mysql-client-5.7 mysql-client-core-5.7
mysql-common mysql-server mysql-server-5.7 mysql-server-core-5.7
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 21.7 MB of archives.
After this operation, 155 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

在运行过程中,需要你输入mysql root的密码。

3#  执行mysql_secure_installation  命令来增强mysql的安全性

$ sudo mysql_secure_installation

mysql_secure_installation命令会要求你更改root的密码,并且禁用或删除MySQL服务器中的匿名用户,关闭MySQL root用户远程登录权限,删除测试数据库,并重新加载授权表的系统。如果你已经完成了所有的步骤,那么MySQL安装将会是比较安全的。

方法二:通过MySQL.tar.gz 二进制包安装方式

1# 下载和解压MySQL 5.7 数据库二进制安装包

执行下面命令:

$ sudo wget https://downloads.mysql.com/archives/get/file/mysql-5.7.4-m14-linux-glibc2.5-x86_64.tar.gz$ sudo tar -xvf mysql-5.7.4-m14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql-5.7.4

2# 创建mysql用户和修改软件的权限

$ sudo useradd -r -M -s /sbin/nologin mysql
$ sudo chown -R mysql  /usr/local/mysql-5.7.4
$ sudo chgrp -R mysql /usr/local/mysql-5.7.4

3# 安装和初始化数据库

$ sudo cd /usr/local/mysql-5.7.4/
$ sudo scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.4/ --datadir=/usr/local/mysql-5.7.4/data/            --必须在mysql根目录安装mysql,否则出错
$ sudo cp -a ../support-files/my-default.cnf  /etc/my.cnf
$ sudo cp -a ../support-files/mysql.server  /etc/init.d/mysqld
$ sudo cd bin/
$ sudo./mysqld_safe --user=mysql &
chkconfig  --add mysql

4# 启动MySQL 服务

$ sudo /etc/init.d/mysqld restart
 Shutting down MySQL..                                      [  OK  ]
 Starting MySQL...                                             [  OK  ]

Ubuntu通过deb包安装MySQL 5.7 (14.04/16.04) (ubuntu离线安装mysql 5.7)

当前最新的MySQL版本是5.7.20, 下面我们来看看如何通过安装deb包的方式来安装最新的MySQL 5.7 数据库。
1# 官方下载最新的MySQL 5.7.20 deb-bundle 包

执行下面命令:

$ sudo wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar

2# 解压缩上面下载的mysql deb-bundle 包

$ sudo tar -xvf mysql-server_5.7.20-1ubuntu16.04_amd64.deb-bundle.tar
mysql-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-source_5.7.20-1ubuntu16.04_amd64.deb
mysql-common_5.7.20-1ubuntu16.04_amd64.deb
mysql-server_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-test_5.7.20-1ubuntu16.04_amd64.deb
mysql-testsuite_5.7.20-1ubuntu16.04_amd64.deb

3# 开始安装上面解压出来的包

如果单独安装每个包的话,安装之前我们需要注意每个包的安装顺序,因为会有包的依赖问题。

mysql-common_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb
libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb
libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-client_5.7.20-1ubuntu16.04_amd64.deb
mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb

执行下面的命令安装:

$ sudo dpkg –i mysql-common_5.7.20-1ubuntu16.04_amd64.deb libmysqlclient20_5.7.20-1ubuntu16.04_amd64.deb libmysqlclient-dev_5.7.20-1ubuntu16.04_amd64.deb libmysqld-dev_5.7.20-1ubuntu16.04_amd64.deb mysql-community-client_5.7.20-1ubuntu16.04_amd64.deb mysql-client_5.7.20-1ubuntu16.04_amd64.deb mysql-community-server_5.7.20-1ubuntu16.04_amd64.deb

在安装过程中,会要求输入mysql root的密码。

4# 启动和停止mysql服务命令

/etc/init.d/mysql start
/etc/init.d/mysql stop

5# 设置MySQL配置文件

找到文件/etc/mysql/my.cnf 注释掉bind-address=127.0.0.1,这行的意思是只允许本地访问MySQL服务器

6# 修改mysql数据库中的表

# user表中的host表示,相应用户允许访问的ip

# %表示所有ip,也可以是某个具体ip

# flush privileges表示使修改生效

$ sudo mysql –uroot –p
Mysql> use mysql
Mysql>update user set host='%' where user='root';
Mysql> flush privileges;

7# 设置mysql用户权限

# 其中password表示远程登录的密码

# 设置权限

Mysql>  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'  IDENTIFIED BY 'password'  WITH GRANT OPTION;?flush privileges;
Mysql>  flush privileges;

Ubuntu MySQL 安装失败问题总结

有时候在安装MySQL之后会出现一些错误信息,下面收集了一下常见的错误,以及解决方法。

错误一:在处理时有错误发生: mysql-server-5.5 mysql-serverE: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法:执行下面的几条命令:

sudo rm /var/lib/mysql/ -Rsudo rm /etc/mysql/ -R

sudo apt-get autoremove mysql* –purge

sudo apt-get remove apparmor

sudo apt-get install mysql-server mysql-common

错误二:dpkg: error processing mysql-server (–configure): dependency problems – leaving unconfigured

start: Job failed to start

invoke-rc.d: initscript mysql, action “start” failed.

dpkg: error processing mysql-server-5.5 (–configure):

解决方法:

查看网络配置
auto lo
iface lo inet loopback

研究了一下我的配置没有问题。问题原因是我删除的时候是手动的。解决办法如下:

sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* –purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server mysql-common

然后重新安装MySQL.

Ubuntu 安装MySQL ODBC驱动

1# 安装iODBC的驱动管理器(GTK编写的前端界面):

$sudo apt-get install iodbc

2# 安装MySQL的ODCB连接器:

$sudo apt-get install libmydobc

3# 启动iODBC:

$sudo iodbcadm-gtk

ubuntu mysql odbc

Ubuntu 下安装MySQL-connector-python

MySQL Connector/Python 是 MySQL 官方提供的 Python 连接 MySQL 数据库的驱动程序.下面介绍两种安装该驱动程序的方法:

方法一# 使用apt-get 安装

执行下面命令:

sudo apt-get updatesudo apt-get install python-mysql.connector

方法二#通过pip工具安装

1# 通过pip命令查看是否有我们要安装的包

$ sudo pip search mysql-connector

2# 安装mysql-connector-python

执行下面命令:

$ sudo pip install mysql-connector-python

如果安装过程中出现下面的错误:

Some externally hosted files were ignored (use  --allow-external mysql-connector-python to allow).

我们可以使用下面的命令重新安装

$ sudo pip install mysql-connector-python --allow-external mysql-connector-python

3# 验证是否安装成功:

~ python
>>> import mysql.connector as mc
>>> mc.__version__
'2.0.4'

Ubuntu 安装 python 3.5

1# 通过apt-get命令行安装Python3.5

$ sudo apt-get install python3.5

命令输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
java-common libappindicator1 libindicator7
使用'apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
libpython3.5 libpython3.5-minimal libpython3.5-stdlib python3.5-minimal
建议安装:
python3.5-venv python3.5-doc binfmt-support
下列软件包将被升级:
libpython3.5 libpython3.5-minimal libpython3.5-stdlib python3.5
python3.5-minimal
升级了 5 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 218 个软件包未被升级。
需要下载 5,778 kB 的归档。
解压缩后将会空出 7,168 B 的空间。
您希望继续执行吗? [Y/n]Y

2# Ubuntu默认使用的是Python2.7,将默认的Python版本指向到3.5

执行下面命令:

$ sudo rm /usr/bin/python
$ sudo ln -s /usr/bin/python3.5 /usr/bin/python

本文永久链接:http://www.osetc.com/archives/20436.html

Sidebar