MySql教程

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装

本文主要是介绍【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装           


 

1.1  BLOG文档结构图

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk= 

 

1.2  前言部分

 

1.2.1  导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~:

① MySQL的二进制安装过程(重点)

② MySQL多实例管理(mysqld_multi)

③ MySQL的源码编译安装过程

④ Linux的逻辑卷的使用

⑤ 文件的MD5值

⑥ 访问MySQL的几种客户端工具(Navicat和MySQLWorkbench)

⑦ 修改MySQL的密码

⑧ 设置MySQL的远程访问

⑨ 设置MySQL的开机启动以及多实例的开机启动

⑩ RPM、二进制和源码编译的优缺点

 

 

1.4  Linux下各种安装方法比较

在Windows下可以使用NOINSTALL包和图形化包来安装,在Linux下可以使用如下3种方式来安装:


RPM(Redhat Package Manage)

二进制(Binary Package)

源码(Source Package)

优点

安装简单,适合初学者学习使用

安装简单;可以安装到任何路径下,灵活性好;一台服务器可以安装多个MySQL

在实际安装的操作系统进行可根据需要定制编译,最灵活;性能最好;一台服务器可以安装多个MySQL

缺点

需要单独下载客户端和服务器;安装路径不灵活,默认路径不能修改,一台服务器只能安装一个MySQL

已经经过编译,性能不如源码编译的好;不能灵活定制编译参数

安装过程较复杂;编译时间长

文件布局

/usr/bin:客户端程序和脚本

/usr/sbin:mysqld服务器

/var/lib/mysql:日志文件,数据库

/usr/share/doc/packages:文档

/usr/include/mysql:包含(头)文件

/usr/lib/mysql:库文件

/usr/share/mysql:错误消息和字符集文件

/usr/share/sql-bench:基准程序

bin:客户端程序和mysqld服务器

data:日志文件,数据库

docs:文档,ChangeLog

include:包含(头)文件

lib:库

scripts:mysql_install_db用来初始化系统数据库

share/mysql:错误消息文件

sql-bench:基准程序

bin:客户端程序和脚本

include/mysql:包含(头)文件

info:Info格式的文档

lib/mysql:库文件

libexec:mysqld服务器

share/mysql:错误消息文件

sql-bench:基准程序和crash-me测试

var:数据库和日志文件

主要安装过程 

在大多数情况下,下载MySQL-server和MySQL-client就可以了,安装方法如下:

rpm -ivh MySQL-server* MySQL-client*

1.添加用户

groupadd mysql

useradd -g mysql mysql

2.安装

tar -xzvf mysql-VERSION-OS.tar.gz -C /mysql/

ln -s MySQL-VERSION-OS mysql或用mv命令

3.初始化,MySQL 5.7之后用mysqld --initialize

scripts/mysql_install_db

4.启动数据库并修改密码等

mysqld_safe &

set password=password('lhr');

除了第二步的安装过程外,其它步骤和二进制基本一样(MySQL 5.7开始使用cmake):

gunzip < mysql-VERSION.tar.gz | tar -xvf -

cd mysql-VERSION

./configure --prefix=/usr/local/mysql

make && make install

安装包下载选项

Red Hat Enterprise Linux / Oracle Linux

Linux - Generic

Source Code

 

 

 实验中用到的SQL总结

OS路径设置:

vgcreate vg_mysqlsoft /dev/sdb1

lvcreate -n lv_mysqlsoft_57 -L 5G vg_mysqlsoft

mkfs.ext4 /dev/vg_mysqlsoft/lv_mysqlsoft_57

mkdir -p /tmp/mysql5719

mkdir -p /var/lib/mysql57

mount /dev/vg_mysqlsoft/lv_mysqlsoft_57  /var/lib/mysql57/

vi /etc/fstab

 

二进制安装过程:

md5sum mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

 

tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /var/lib/mysql57/

mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719

 

groupadd mysql

useradd -r -g mysql mysql

 

MySQL 5.6版本:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql56/mysql5637 --datadir=/usr/local/mysql56/mysql5637/data

MySQL 5.7版本:./bin/mysqld --initialize --user=mysql --basedir=/var/lib/mysql57/mysql5719  --datadir=/var/lib/mysql57/mysql5719/data

more /etc/my.cnf

 

cp mysql.server /etc/init.d/mysql57

chmod 755 /etc/init.d/mysql57

chkconfig --add mysql57

chkconfig mysql57 on

chkconfig --level 345 mysql57 on

 

mysqld_safe --user=mysql &

 

 

MYSQL_HOME=/var/lib/mysql57/mysql5719

PATH=$PATH:$MYSQL_HOME/bin

source /etc/profile

 

#MySQL 5.7初始化时有默认密码,5.6无密码

mysql -uroot  --socket=/usr/local/mysql56/mysql5637/mysql.sock -p

set password=password('lhr');

update mysql.user set authentication_string=password('lhr') where user='root';

grant all privileges on *.* to root@'%' identified by 'lhr';

flush privileges;

 

 

源码安装:

tar -zxf  /tmp/mysql5.7sc/mysql-5.7.19.tar.gz -C /usr/local/mysql57sc/

tar -zxf  /tmp/mysql5.7sc/mysql-boost-5.7.19.tar.gz -C /usr/local/mysql57sc/

mv mysql-5.7.19 mysql57

 

yum install -y cmake make gcc gcc-c++ ncurses-devel

#cmake最低需要2.8.2版本的

 

cmake \

> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql57sc/mysql57 \

> -DMYSQL_DATADIR=/usr/local/mysql57sc/mysql57/data \

> -DMYSQL_USER=mysql \

> -DWITH_INNOBASE_STORAGE_ENGINE=1  \

> -DWITH_ARCHIVE_STORAGE_ENGINE=1   \

> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

> -DWITH_READLINE=1 \

> -DDOWNLOAD_BOOST=1 \

> -DWITH_BOOST=/usr/local/mysql57sc/mysql57/boost/boost_1_59_0/

 

make && make install

 

查看MySQL的端口:

netstat -lntp | grep mysqld


这篇关于【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!