LAMP编译安装(二)——安装Mariadb-5.5.45

  1. 云栖社区>
  2. 博客>
  3. 正文

LAMP编译安装(二)——安装Mariadb-5.5.45

科技小能手 2017-11-12 21:46:00 浏览578
展开阅读全文

背景介绍

wKioL1gXYvviIq18AACI6-JB-zA284.png

从上一篇文章了解到,当服务器架构为下图中的类型时,PHP服务器会启动php-fpm服务侦听在一个特定的套接字上来等待httpd服务器的请求,如果请求中包含对后端Mysql服务器的访问,此时分为几种情况:

1.PHP服务器是独立服务器,或PHP服务器和httpd服务器在同一台主机,并以httpd服务器的一个模块方式存在,且都为编译安装,则编译时需要通过mysqlnd参数联系后端的Mysql服务器

2.PHP服务器为独立服务器,且不是编译安装,可能需要安装php-mysql客户端来连接Mysql数据库

3.PHP服务器和Mysql共用一台主机,编译安装时需要指定Mysql的路径

由此可以看出PHP服务器本身并不会对Mysql服务器发起访问,PHP只是工作在httpd和Mysql的中间环节,建议先配置httpd和Mysql服务器后,再配置PHP服务器(如果PHP服务器不是单独的主机而是和httpd或者Mysql共用一个主机时,必须遵守该顺序)下面就用二进制程序Mariadb-5.5.45来演示数据库的安装。

安装Mariadb-5.5.45

1.解压Mariadb-5.5.45

tar -xf mariadb-5.5.45-linux-i686.tar.gz -C /usr/local/

2.创建软连接

cd /usr/local

ln -sv mariadb-5.5.45-linux-i686/ mysql

3.创建mysql用户和组

grouppadd -r mysql

useradd -r -M -g mysql -s /sbin/nologin mysql

4.将/usr/local/mysql属主属组改为root:mysql

chown -R root:mysql /usr/local/mysql

5.创建存放数据库文件的目录/data/mydata,属主属组改为mysql

mkdir -p /data/mydata

chown -R mysql:mysql /data/mydata

6.输出二进制文件

vim /etc/profile.d/mysql.sh

添加内容:export PATH=/usr/local/mysql/bin:$PATH 保存退出

source /etc/profile.d/mysql.sh

7.头文件导出

ln -sv /usr/local/mysql/include/mysql/ /usr/include/mysql

8.库文件导出

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

看到libmysql.so.18被加载到内存说明,库文件导出成功wKiom1gXYvzDH5SzAAA1XY_lEOc128.png

9.man文档导出

vim /etc/man.configwKioL1gXYvzBEub4AAA1-zycRkI678.png

获取、修改Mariadb配置文件

Mariadb在/usr/local/mysql/support-files目录下问我们提供了各种硬件规格的配置文件,此处以my-large.cnf为例,需要注意的是:/etc/my.cnf的文件在二进制程序解压后就已存在,而MariaDB的配置文件查找顺序为:/etc/my.cnf--> /etc/mysql/my.cnf --> ~/.my.cnf

cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf

vim /etc/my.cnf #指明数据存放的位置wKioL1gXYvyBZNxdAAATkyF49AA872.png

提供启动脚本

同样是在/usr/local/mysql/support-files目录下Mariadb也为我们提供了启动脚本

cp mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

chkconfig --list | grep mysqldwKiom1gXYv3DumL5AAAbFIZRS2M750.png

初始化数据库

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --datadir=/data/mydata

service mysql.d on

再查看/data/mydata目录,看到日志文件、pid文件后再使用netstat -ntl查看3306端口是否侦听,判断服务是否正常启动wKiom1gXYv3CYWktAAA2kRGadTU051.png

此处需要注意的地方是:

1.如果是二进制程序初始化数据库进入scripts目录执行程序会出现问题wKioL1gXYv3jTPifAABHZ7y8YIo040.png

2.根据/etc/my.cnf配置文件中设置,socket文件位置是在/tmp目录下,如果是只对本机提供服务,服务需求的申请者要指明socket文件的位置wKiom1gXYv6Bl78rAAAZusNiKJE570.png

测试MariaDB,删除匿名用户

1.使用mysql命令看是否可以正常wKioL1gXYv7D1AfJAABbrHgEJCE672.png

2.use mysql; #使用mysql库

3.SELECT user,host,password from user; #查看当前都有哪些用户wKiom1gXYv-jzH8CAAAz_8g1kac145.png

4.删除匿名用户(mysql指令中不区分大小写,习惯上是将命令大写)wKioL1gXYv_DA8twAABRIId43mQ184.png

5.给root账户修改密码wKiom1gXYv-wdWP-AABgSZtTaQ4446.png

也可以不加host限制一次性修改所有root的密码,至此操作完成wKioL1gXYwCiwnrBAAB2wRgLQu0402.png


本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1867878


网友评论

登录后评论
0/500
评论
科技小能手
+ 关注