Ubuntu 下安装MySQL 5.6/5.7数据库教程(14.04/16.04)
October 18, 2017
本文将会讲述在ubuntu 系统下安装及配置MySQL 5.6/5.7 数据库的方法。本文主要通过两种方法来讲述mysql数据库的安装,一种是通过apt-get命令,另一种是源码包编译安装。(以ubuntu 16.04 为示例)
- Ubuntu安装 MySQL 5.6 数据库
- Ubuntu安装MySQL 5.7 数据库
- Ubuntu通过deb包安装MySQL 5.7
- Ubuntu MySQL 安装失败问题总结
- Ubuntu 安装MySQL ODBC驱动
- Ubuntu 下安装MySQL-connector-python
- Ubuntu 安装 python 3.5
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
Linux作为操作系统,Apache 或Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合[3] 。-摘自百度百科
Table of Contents
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-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
本文永久链接:https://www.osetc.com/archives/20436.html
99%的人还阅读了: