首页 > 技术文章 > 编译安装LAMP之MySQL-5.5.28(通用二进制格式)

long-cnblogs 2019-04-02 21:51 原文

  我们此前已经说过,要想编译php5.4的话就需要安装MySQL,事实上在php5.4后MySQL不装也能够单独编译安装php5.4了,只是必须要在编译的时候使用—withmysql=mysqlnd让它实现在本地进行加载。

  LAMP安装次序:apr --> apr-util --> httpd --> MySQL

安装MySQL

  • 下载源码包:

 

  • 解压mysql-5.5.28:

  注:解压后推荐使用创建连接的方式链接过去,不要改变它的原有名称,这样它的版本号及平台都会保留,容易识别正在识别的是什么版本的。

 

  • 新建用户以安全方式运行进程:

  对我们而言,要想初始化安装MySQL得使用mysql用户mysql组,所以得创建mysql用户mysql组,为保证系统安全性,mysql为系统用户,不能登录系统只能运行某个服务。

  INSTALL-BINARY:这个文件中明确说明了安装binary格式的mysql的步骤;

  如:

  注意:MySQL目录下的所有mysql目录下的所有文件的属主属组都需要改成mysql。

 

 

  • 准备数据存放的文件系统:

  查看初始化的选项:

  --user=user_name:表示以哪个用户的身份进行初始化

  --datadir=path:数据目录

  注意:

  mysql运行起来后是一个服务器,这个服务器将来需要闯将数据库数据表,这些数据此前使用rpm包安装时保存在/var/lib/mysql下,而此处解压安装安装在当前目录下的data目录下,但是事实上将其放在软件安装路径下不是一个很好的选择,因此需要另外指定路径。

  一般来讲,数据根据企业规模的不同可能会变得非常大,所以一般而言建议放在一个独立的分区上,而且是一个独立的逻辑卷上,因为放在逻辑卷上将来数据增大时可以非常方便的扩大数据边界,所以应尽可能放在一个逻辑卷上,因此就需要使用datadir指定另外的位置在什么地方,因为它会将初始化的结果保存在数据目录下而默认为data,此处就使用逻辑卷;

  创建逻辑卷:

 

  • 初始化mysql-5.5.28:

  注意:初始化完成后一定要记得mysql安装目录下的文件的属主不要给mysql用户,因为将来一旦有人攻破mysql进程,他将获得整个文件的所有权限,所以一般而言将其属主改回root用户。

       那一般来讲如果把数据放在data中,如果没有改别的位置,数据还放在data中,那它的属主就不能是root。

    此刻为止,MySQL的安装基本成功!

 

  • 为mysql提供主配置文件:

  MySQL的配置文件:

        /etc/my.cnf,MySQL的配置文件由n段组成

        配置文件格式:使用中括号式的分段式,一段指令只对一个片段生效。它是一个集中式的配置文件,可以为多种程序提供配置文件,如:

              [mysql]    #客户端配置文件

              [mysqld]   #服务器端配置文件

              [client]   #对所有的客户端程序都生效

        MySQL寻找配置文件路径的步骤:

           MySQL配置文件比较独特,MySQL找配置文件时会先找/etc/my.cnf -->

      找完这个后,会找/etc/mysql/my.cnf -->

      找完这个后,找$BASEDIR($BASEDIR是MySQL进程或实例的运行目录,一般来讲,就是安装目录)下的my.cnf,即$BASEDIR/my.cnf -->

      找完这个后,会找$DATADIR/my.cnf -->

      找完这个后,会找用户家目录下的.my.cnf-/.my.cnf,但因为运行mysql的用户mysql,mysql没有家目录,所以找不着。

      步骤小结:/etc/my.cnf --> /etc/mysql/my.cnf --> $BASEDIR/my.cnf --> -/my.cnf

  注意:

  • 所有路径找完之后,这四个目录中的配置可能会有冲突的,以最后一个为准。后一个会覆盖前一个。
  • 就算没有配置文件,mysql也能运行起来,因为它的很多配置都有默认定义的,我们要想运行mysql,需要给它提供一个配置文件。

  MySQL为我们提供了四个配置文件样例:

    这四个mysql提供的配置文件的主要区别主要在于内存大小,我们按需使用即可。

 

  另外还需要添加如下一行指定mysql数据文件的存放位置并按需修改并发线程数:

  thread_concurrency:线程并发数,数量设定为CPU数量*2;

 

  • 为mysql提供sysv服务脚本:

    mysql.server是MySQL为我们提供的脚本;

  添加至服务列表:

  而后就可以启动服务测试使用了。

  为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤!

 

  • 输出mysql的man手册至man命令的查找路径:

  编辑/etc/man.config,添加如下行即可:

 

  • 输出mysql的头文件至系统头文件路径/usr/include:

  这可以通过简单的创建链接实现:

 

  • 输出mysql的库文件给系统库查找路径:

  也可以使用如下方式输出库文件路径:

  # echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf

  而后让系统重新载入系统库:

 

 

  • 修改PATH环境变量,让系统可以直接使用mysql的相关命令:

 

MySQL内部变量、通配符及部分常用函数:

  performance_schema:系统状态信息收集库,如:mysql已经接受了多少个用户请求,有多少个用户连接过,用户连接后网络发送了多少数据过去。这些信息可直接查看。

 

在MySQL服务器内部有两类变量:(MySQL维持了两类变量)

    注意:将来对MySQL的管理主要就集中在这两类变量上,调整MySQL的运行特性,调优MySQL就是调整这些东西,查看调整MySQL性能后是否有提升,就查看状态变量。

  •    服务器变量

       定义MySQL服务器运行属性(特性)。就是使用参数可以定义改变MySQL服务器的工作状态的,即配置文件中提供的那些指令,如:DATADIR在什么路径下、要不要启动日志、日志文件放在什么路径下等,就是定义MySQL运行起来后怎么运行的。

       查看可使用:

  SHOW GLOBAL VARIABLES [LIKE ‘变量名(支持通配符)’]

       查看某一特定变量可使用:

  SHOW GLOBAL VARIABLES LIKE ‘变量名’;

 

  •    状态变量:

       保存了mysql服务器运行时的统计数据

       查看可使用:

  SHOW GLOBAL STATUS [LIKE ‘变量名(支持通配符)’]

 

使用示例:

 

MySQL通配符:

  •     _:任意单个字符;
  •     %:任意长度的任意字符;

 

显示当前MySQL的版本号:

 

显示当前默认的数据库:

 

显示当前登录的用户:

 

推荐阅读