mysql源码包手动安装、配置以及测试(亲测可行)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源,详解mysql的源码安装以及配置。

笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/

记下这篇mysql笔记,望日后有用!

redhat6采用centos yum源,详解mysql的源码安装以及配置。这里继续上篇的博客php,Apache的配置,现在写MySQL的配置。lamp搭建到此成功!

Apache源码安装的笔记:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

php源码安装的笔记:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

现在开始写MySQL的源码安装以及配置:

1、安装mysql依赖:

yum install cmake
yum install ncurses-devel

2、下载MySQL的源码安装包并解压:

mysql下载地址:  http://distfiles.macports.org/mysql5/
tar -zxvf  mysql-5.5.21.tar.gz

3、创建mysql的安装目录及数据库存放目录

mkdir -p /work/installed/mysql   安装目录  个人而定            

mkdir -p /work/installed/mysql/data  数据库存放目录

4、创建mysql用户及用户组

groupadd mysql
useradd -r -g mysql mysql

5、安装MySQL:

进入解压包文件夹内执行:

cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

cmake . -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DMYSQL_DATADIR=/work/installed/mysql/data  -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1

其中:/work/installed/mysql为MySQL的安装目录,这个可以自定义,自己喜欢装哪就装到哪里。

参数说明:

-DCMAKE_INSTALL_PREFIX=/work/installed/mysql        //安装目录

-DINSTALL_DATADIR=/work/installed/mysql/data         //数据库存放目录

-DDEFAULT_CHARSET=utf8                        //使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci            //校验字符

-DEXTRA_CHARSETS=all                            //安装所有扩展字符集

-DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

下面依次执行:

make

make install

如果出现错误:

错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file

错误: ./bin/mysqld: Character set 'utf8-DDEFAULT_COLLATION=utf8_general_ci' is not a compiled character set and is not specified in the '/work/installed/mysql/share/charsets/Index.xml' file

是字符集和字符冲突了,所以编译的时候要把字符和字符集选项都加上,并且要兼容!修改编译参数:

那么执行此条命令:

cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

cmake -DCMAKE_INSTALL_PREFIX=/work/installed/mysql -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_SSL=system

注意,如果重新编译或者编译出错了:

注意事项:

重新编译时,需要清除旧的对象文件和缓存信息。

# make clean/make clean all

# rm -f CMakeCache.txt

# rm -rf /etc/my.cnf

然后再:make , make install即可。

6、设置目录权限

在安装好的mysql目录下执行命令:

 chown -R root:mysql .   //把当前目录中所有文件的所有者所有者设为root,所属组为mysql

 chown -R mysql:mysql data
7、将mysql的启动服务添加到系统服务中
cp support-files/my-medium.cnf /etc/my.cnf 
8、创建系统数据库的表
scripts/mysql_install_db --user=mysql

9、设置环境变量

 
# vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

PATH=$PATH:$HOME/bin:/work/installed/mysql/bin:/work/installed/mysql/lib

# source /root/.bash_profile
 

10、启动mysql

 
法1:
在mysql安装好的目录下执行来启动MySQL:
./bin/mysqld_safe --user=mysql &  

启动日志写在此文件下:/work/installed/mysql/data/localhost.err 目录个人而异,自己的安装目录

法2:
cp support-files/mysql.server  /etc/init.d/mysql //将mysql的启动服务添加到系统服务中
# service mysql.server start 

# service mysql.server stop

# service mysql.server restart


另外关闭MySQL服务的命令是:
mysqladmin -u root -p shutdown  

11、修改MySQL的root用户的密码以及打开远程连接

 
# mysql -u root mysql

mysql>use mysql;
mysql>desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //为root添加远程连接的能力。
mysql>update user set Password = password('xxxxxx') where User='root'; //这里的XXXX为自己输入的MySQL密码,root用户
mysql>select Host,User,Password from user where User='root';
mysql>flush privileges;
mysql>exit

重新登录:mysql -u root -p

若还不能进行远程连接,则关闭防火墙
# /etc/rc.d/init.d/iptables stop

12、12-1、测试MySQL并将MySQL与php结合起来

登录mysql: mysql -u root -p

输入密码:mysql(输入自己设定的mysql密码)

下面建立数据库,建立表,插入数据:

mysql> create database test1;
mysql> use test1;
mysql> create table student(id int(4) not null primary key auto_increment,name char(20));
mysql> insert into student(name) values('Tom');    

这里插入了TOM的名字,接下来配置php,以及编写发布的主页内容:

重新配置php:

./configure --prefix=/work/installed/php  --with-apxs2=/work/installed/apache/bin/apxs --with-mysqli=/work/installed/mysql/bin/mysql_config

这里的php安装路径是自己原来配置安装好的,根据自己的情况而定。上一篇PHP配置:http://www.cnblogs.com/xiaobo-Linux/p/4637775.html

Apache配置:http://www.cnblogs.com/xiaobo-Linux/p/4637056.html

 然后在php的源码解压包里面执行:

make

make install

最后重启Apache:在Apache安装好的目录下执行restart: /work/installed/apache/bin/apachectl restart
 

12-2、在Apache的发布主页的目录下编写index.php这个文件。

我的发布目录是:/home/web/index.php

编写php:vim index.php:

内容如下,目的是让它显示刚刚插入的TOM的数据:

<?php 
  $mysql=new mysql();
  $mysql->connect('localhost','root','mysql','test1');
   // 创建查询
   $sqlstr='select * from student';
  //发送查询给MySql
   $result=$mysql->query($sqlstr);
    while($row=$result->fetch_object())
    { 
      $name=$row->name;
       echo $name;
    }
?>

再重启一下Apache吧:

./apachectl restart

如果显示Tom的话说明mysql成功!

 

到此mysql安装完成!lamp===Apache+mysql+php也搭建成功!

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
34 1
|
1天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
15 8
centos7 mysql安装及配置
|
9天前
|
测试技术 Linux 虚拟化
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
详细的VMware虚拟机安装macOS Big Sur的保姆级教程,包括下载VMware和macOS镜像、图解安装步骤和遇到问题时的解决方案,旨在帮助读者顺利搭建macOS虚拟机环境。
21 3
iOS自动化测试方案(五):保姆级VMware虚拟机安装MacOS
|
8天前
|
关系型数据库 MySQL Linux
在Linux中,新安装mysql后怎样提升mysql的安全级别?
在Linux中,新安装mysql后怎样提升mysql的安全级别?
|
7天前
|
关系型数据库 MySQL Shell
MySQL数据库一键安装脚本,适合任何版本
MySQL数据库一键安装脚本,适合任何版本
18 2
|
7天前
|
关系型数据库 MySQL Linux
Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
【8月更文挑战第23天】Linux环境安装MySQL8.0.36使用rpm包安装,安装顺序是什么?
47 1
|
9天前
|
测试技术 开发工具 虚拟化
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
这篇文章提供了一份保姆级的教程,指导如何在MacOS虚拟机上安装Xcode,包括环境准备、基础软件安装以及USB扩展插件的使用,以实现iOS自动化测试方案的第一步。
16 0
iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程
|
4天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
7天前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
7天前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决

热门文章

最新文章

下一篇
云函数