Mysql 5.6版本二进制安装
admin
2023-04-26 09:21:57
0

时间:2018.7.30
作者:李强
参考:man,info,magedu讲义,万能的internet
实验环境:VMware® Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4
声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。
版本:v1-2018.7.30

参考资料

1、https://www.cnblogs.com/BrightMoon/p/4730081.html
2、https://dev.mysql.com/doc/refman/5.6/en/installing.html

官方下载站点:

https://dev.mysql.com/downloads/mysql/

可以下载rpm包,repo仓库。二进制包等

一些镜像站点如搜狐,阿里,网易等都不好使了。

mysql安装为什么大部分使用二进制安装。而不是源码手动去编译?

mysql使用的glibc进行开发的。glibc库是一个底层api,所以只要是linux,都会有glibc库。所以,mysql安装不需要考虑环境是否符合要求。移植性很方便。直接将编译好的二进制代码复制到另外一个机器上,也是可以用的。

原理性东西:一般在linux下安装一个软件,不同软件所需要的函数库不同。于是会遇到一个现象:一个软件复制到另外一个平台可能无法运行。安装软件需要先侦测环境就是出于此考虑。因为mysql使用的是通用的glibc函数库。没有对其他东西的依赖性。所以,从一个平台复制到另外一个平台能够通用。并不需要去侦测环境。直接使用编译好的二进制即可

手动编译安装,显得步骤麻烦。基于mysql的特点,二进制安装完全可以。

注:mysql5.5安装的时候,需要用到cmake命令,所以需要保证你的机器上安装了该命令。没有的话,还要去安装该cmake。也显得麻烦。我暂时不想去安装最新版本的了。

如果使用二进制安装升级怎么进行?

升级获取的还是二进制压缩包。那么,直接将指向目录切换到新的目录即可。

不需要涉及到像php一样,手动编译可以达到自己定制模块的好处。而mysql安装的时候不需要涉及到模块

mysql官方建议安装方式:二进制安装。

以下为安装二进制版本5.6.41操作步骤

一、安装前环境准备:

1、依赖库检查

主要是看二进制安装依赖的库是否存在,数据库初始化和服务启动需要此库

shell> yum search libaio  # search for info
shell> yum install libaio # install library

2、安装相关规划

    软件安装目录      /usr/loca/app/mysql_13306
    数据库存放目录  /data/mysql_13306
    port                     13306
    pid_file                /data/mysql_13306/mysql_13306.pid
    socket                 /data/mysql_13306/mysql_13306.socket
    log_error             /var/log/mysql_13306.log

二、进制安装步骤

1、创建用户

shell> groupadd mysql
shell> useradd -r -g mysql -s /bin/false mysql

2、下载二进制包

shell> cd /usr/local/app
shell> wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
shell> tar zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
shell> mv mysql-5.6.41-linux-glibc2.12-x86_64 mysql_13306
shell> ln -s  mysql_13306  ../mysql_13306
# 我觉得建立软链接其实作用就是因为默认的路径就是这里。当我们安装多实例的时候,这个步骤就没有意义了。
shell>cd /usr/local/app/mysql_3306
shell> rm -rf data
shell> ln -s data /data/mysql_13306

3、为工作目录指定用户权限

shell> cd mysql_13306
shell> scripts/mysql_install_db --user=mysql   #这里可以指定mysql安装和安装数据的位置。 
# --basedir=path 使用mysqld程序的路径 --datadir=path  数据库安装的路径
#此脚本,默认执行的是
#./bin/mysqld --bootstrap --basedir=. --datadir=/var/lib/mysql --log

shell> chown -R root .
shell> chown -R mysql /data/mysql_13306
# 数据库数据位置需要拥有mysql的权限。不能设置为root权限。否则无法启动。
shell> scripts/mysql_install_db --user=mysql --basedir=/usr/local/app/mysql_13306 --datadir=/usr/local/app/mysql_13306/data
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /home/ewifi/mysql/bin/mysqladmin -u root password 'new-password'
  /home/ewifi/mysql/bin/mysqladmin -u root -h ewifi-yuhang password 'new-password'

Alternatively you can run:

  /home/ewifi/mysql/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd . ; /home/ewifi/mysql/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /home/ewifi/mysql/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server

/home/ewifi/mysql/bin/mysqld_safe --defaults-file=/home/ewifi/mysql/my.cnf &

4、修改配置文件指定mysql的安装目录和数据目录


执行完安装数据库脚本后,会在安装路径下自动生成my.cnf配置文件。
主要设置参数,在mysqld下配置。
[mysqld]  

user =mysql                                 //以mysql用户权限运行mysql服务
baseurl=/usr/loca/app/mysql_13306       //mysql二进制程序路径,默认为当前程序的./bin/mysqld
dataurl=/data/mysql_13306/        //mysql数据库存放路径, 默认为/var/lib/mysql

因为我们可能根据自己的数据安全,放在其他位置,可以将二进制里的data目录删除,然后建立一个软链接过去。然后设置data的属性为mysl.mysql

port=13306
socket=/data/mysql_13306/mysql_13306.socket         //socket文件,默认路径为/var/lib/mysql/mysql.sock
pid-file=/var/run/mysql_13306.pid        //如果没有指定,那么默认为$datadir/`hostname`.pid
[mysqld_safe]
log-error=/var/log/mysql_13306.log   

5、启动服务器

shell> bin/mysqld --user=mysql &           # 或使用mysqld_safe
shell> bin/mysqld_safe --user=mysql  --defaults-file=/usr/loca/app/mysql_13306/my.cnf & # 官方建议使用这个

#启动可以用mysqld也可以使用mysqld_safe,区别简单点就是mysqld_safe比mysql更安全,因为mysqld_safe启动后会监控mysql服务状态做到自动重启mysql服务的功能,本质上用到的还是mysqld程序。
#如果安装目录和数据库目录改变,添加相关参数

6、添加启动脚本。

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql_13306.server

如果修改了baseurl和dataurl的位置,这里需要对这2个变量进行赋值
这里调用的就是mysqld_safe 

注意事项

1、不同版本的安装方式不一样。需要参考官方安装指导手册
2、自定义的路径,需要修改相关文件的相关变量。官方上是默认路径。

相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...