`

Linux下MySQL 的编译安装最新版本5.6.24和详细部署

阅读更多
 

MySQL 5.6正式版发布了,相对于5.5版本作出了不少改进,其源码安装配置方式也有所变化,本文根据实际操作,不断尝试,精确还原了安装的具体步骤。

安装MySQL前,先确认卸载系统自带数据库

打开操作终端

输入rpm -qa|grep mysql(罗列所有数据库相关的文件)

rpm –e (罗列出来的文件)--nodeps(使用该命令依次删除罗列出来的文件)--nodeps为删除与之依赖的文件。

确认Internet连接正常,以便下载安装文件。

先使用 yum -y update 指令升级系统到最新版本。

没有安装了CMake先安装CMake

 

Make安装步骤 

步骤一、安装gcc等必备程序包(已安装则略过此步) 

yum install -y gcc gcc-c++ make automake  

步骤二、安装wget (已安装则略过此步) 

yum install -y wget 

步骤三、获取CMake源码包 

wget

http://www.cmake.org/files/v2.8/cmake-2.8.11-rc3.tar.gz 

步骤四、解压CMake源码包 

tar -zxvf cmake-2.8.11-rc3.tar.gz 

步骤五、进入目录 

cd cmake-2.8.11-rc3 

./bootstrap

 

 

步骤七 

gmake 

 

 

步骤八 

gmake install 

 安装完成,可阅读install_manifest.txt查看具体都安装了什么。 

三、异常情况 

如果步骤六报错,可能原因是关联的程序包未安装。解决方法:安装所需的程序包后,将cmake-2.8.11-rc3/目录下的CMakeCache.txt删掉,再从步骤六开始。

 

 

 

本安装将MySQL的数据文件与执行文件分离,如果你打算设置到不同的路径,注意修改对应的执行命令和数据库初始化脚本。

#修改防火墙设置,打开3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

#重启防火墙使新设置生效
service iptables restart

 

 
msyql服务器: mysql-5.6.24.tar.gz 
下载地 址:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 免费版,只能下载mysql社匙版。
MySQL   Community Server 选择合适的版本迚行下载:  
 

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

Mysql 5.5.15 以后,使用了新的 cmake 编译方式,所以先安装 cmake。之前的版本直接 configure 然后make ,make install 。 cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够 输出各种各样的 makefile 戒者 project 文件,能测试编译器所支持的 C++特性,类似 UNIX 下的 automake。 只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的 建构档(如 Unix 的 Makefile 戒 Windows Visual C++ 的 projects/workspaces),然后再依一般 的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种 可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的匙删之处。
 
 
安装前,如果不存在mysql 用户,则建立之

新增用户组

groupadd mysql

新增用户
useradd mysql -g mysql

新建数据库执行文件目录
mkdir -p /usr/local/mysql

新建数据库数据文件目录
mkdir -p /usr/local/mysql/data

编辑PATH搜索路径
vi /etc/profile
Append these 2 lines to the end of the file:
将下面两行命令增加到最后
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH

生效PATH搜索路径
source /etc/profile

编辑hosts文件,加入本机IP和主机名
vi /etc/hosts
192.168.211.100      centhost.centdomain

安装编译源码所需的工具和库(需要联网)
yum -y install wget gcc-c++ ncurses-devel cmake make perl

进入源码压缩包下载目录
cd /usr/local/src

下载源码压缩包,下载包53M大小,有点慢,等吧。
wget

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.10.tar.gz/from/http://cdn.mysql.com/

http://dev.mysql.com/downloads/mysql/#downloads

http://fossies.org/linux/misc/

解压缩源码包
tar -zxvf mysql-5.6.11.tar.gz

进入解压缩源码目录
cd mysql-5.6.11

 mysql5.5起,mysql源码安装开始使用cmake了,执行源码编译配置脚本。

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306

编译源码,这一步时间会较长,耐心等待。

 

cmake 编译选项含意:
#指定mysql安装的根目录,只要
目录存在就可以了,mysql-5.5在安装时,会自动创建。这个 值可以在服务器开机时,通过--basedir来设置。

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock

#mysql服务器用于监听的套接字,这个必需是一个绝对路径,默认是/tmp/mysql.sock。在服务器吭劢 时,可通过--socket 来改变。 

-DDEFAULT_CHARSET=utf8

#设置mysql默认使用utf8字符集,不指定,默认使用latin1 西欧字符集。 
DWITH_EXTRA_CHARSETS=all  
#指定mysql扩展字符集支持所有的字符集。默认mysql支持所有字符集
 -DWITH_MYISAM_STORAGE_ENGINE=1 
 -DWITH_INNOBASE_STORAGE_ENGINE=1 
  -DWITH_MEMORY_STORAGE_ENGINE=1  
 #静态编译 Myisam、Innobase、Memory 存储引擎刡 mysql 服务器。这样 mysql 服务器就支持这三 种存储引擎了。  
 
-DWITH_READLINE=1   #支持readline库 。
 -DENABLED_LOCAL_INFILE=1   #允许从本地导入数据 ,吭用加载本地数据
 -DMYSQL_DATADIR=/server/mysql/data   #mysql数据库存放数据的目录 
-DMYSQL_USER=mysql    #指定运行mysql服务的用户  

make

 

安装
make install

清除安装临时文件
make clean

修改目录拥有者
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

进入安装路径
cd /usr/local/mysql 

执行初始化配置脚本,创建系统自带的数据库和表。
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
初始化脚本在 /usr/local/mysql/my.cnf 生成了配置文件。需要更改该配置文件的所有者:
chown -R mysql:mysql /usr/local/mysql
多说两句:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

复制服务启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

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

启动MySQL服务
service mysqld start

# 设置开机自动启动服务
chkconfig mysqld on

chkconfig  --list mysqld5.5 mysqld5.5       0:off 1:off 2:on 3:on 4:on 5:on 6:off  

# 修改MySQL用户root的密码(授权法,例如:你想root用户使用root密码从任何主机连接到mysql服务器
mysql -u root(
进入MySQ终端)

mysql>use mysql;(进入MySQL数据库)


mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";(
授权root用户使用root password从任何主机连接到mysql服务器)


mysql>update user set Password = password('123456') where User='root';(
修改root用户密码为123456)
mysql>
flush privileges;(特权)


mysql>exit;(
退出)

# 可选:运行安全设置脚本,修改MySQL用户root(不是系统的root!)的密码,禁止root远程连接(防止破解密码),移除test数据库和匿名用户,强烈建议生产服务器使用:

/usr/local/mysql/bin/mysql_secure_installation

 

 

=== MySQL的使用 ===

 

mysql [-h <主机>] [-u <用户名>] [-p] [数据库名]

 

●更改root管理员的密码

mysql> update mysql.user set password=password('123456') where user='root';

 

●添加用户admin,允许从任何地方登录MySQL服务器

mysql> insert into user(host,user,password) values("%","admin",password("pwabc"));

 

 

●刷新用户授权信息

mysql> flush privileges;

 

●删除MySQL的空用户

mysql> delete from mysql.user where user='';

 

●显示数据库结构

mysql> show database;

 

mysql> show tables;

 

●显示数据表的结构

DESCRIBE [数据库名.]表名

mysql> use mysql;

mysql> describe user;

 

●创建新的数据库

CREATE DATABASE 数据库名

mysql> create database mydb;

 

●创建新的数据表

CREATE TABLE 表名 (字段定义……)

mysql> CREATE TABLE users (user_name CHAR(30) NOT NULL, user_password CHAR(20) NOT NULL DEFAULT '123456', PRIMARY KEY (user_name));

 

●修改表名

alter table 表名 rename to 新表名

 

●删除一个数据表

DROP TABLE [数据库名.]表名

mysql> drop table mydb.users;

 

●删除一个数据库

DROP DATABASE 数据库名

mysql> drop database mydb;

 

●插入数据记录

INSERT INTO 表名(字段1,字段2,……) VALUES(字段1的值,字段2的值,……)

mysql> insert into mydb.users(user_name,user_password) values('zhangsan',encrypt('123456'));

 

●查询数据记录

SELECT 字段名1,字段名2…… FROM 表名 WHERE 条件表达式

mysql> select * from mydb.users;

mysql> select user_name,user_password from mydb.user where user_name='zhangsan';

 

●修改

数据记录

UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式

mysql> update mydb.users set user_password=encrypt('123123') where user_name='list';

 

●删除数据记录

DELETE FROM 表名 WHERE 条件表达式

mysql> delete from mydb.users where user_name='lisi';

 

●数据库的备份

mysqldump -u [用户名] -p [密码] [options] [数据库名] [表名] > /备份路径/备份文件名

备份整个mydb数据库

mysqldump -u root -p mydb > mysql-mydb.sql

备份mysql数据库中的host表、user

mysqldump -u root -p mysql host user > mysql.host-user.sql

备份MySQL服务器中所有数据库

mysqldump -u root -p --all-databases > mysql-all.sql

 

●恢复数据库

mysql -u root -p [数据库名] < /备份路径/备份文件名

mysql -u root -p < mysql-all.sql

mysql -u root -p mydb < mysql-mydb.sql

 

●授予权限

GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [ IDENTIFIED BY '密码' ]

mysql> grant select on mysql.user to admin@'localhost' identified by 'pw123';

mysql> grant all on mydb.* to admin1@'localhost' identified by '123456';

mysql> grant select on mydb.* to admin2@'192.168.0.0/24' identified by '123456';

mysql> grant select,insert on mydb.* to admin3@'%.benet.com' identified by 'pw456';

 

●查看权限

SHOW GRANTS FOR 用户名@域名或IP

mysql> show grants for root@'localhost';

 

●撤销权限

REVOKE 权限列表 on 数据库名.表名 from 用户名@域名或者IP

revoke all on mydb.* from admin3@'%.benet.com';

 

 

=======================

重置MySQLroot用户密码

 

●已经知道mysql数据库的root密码

方法一:在shell环境中,使用mysqladmin命令设置(需要知道原密码)

[root@CentOS ~]# mysqladmin -u root -p password "123456"

 

方法二:在“mysql>”环境中,使用update命令,直接更新mysqluser表的数据

[root@CentOS ~]# mysql -u root -p

mysql> update mysql.user set password=password('123456') where user='root';

mysql> flush privileges;

 

方法三:在“mysql>”环境中,使用grant命令,修改root用户的授权权限。

mysql>GRANT ALL ON *.* TO root@'localhost' IDENTIFIED BY '123456';

 

 

●忘记mysql数据库的root用户的密码

关闭mysql服务

service mysqld stop

或者

killall mysqld

 

使用myslq_safe脚本以安全模式(不加载授权表)启动mysqld服务(数据库位非默认值需要用--datadir指定)

/usr/local/mysql/bin/mysqld_safe --skip-grant-table --datadir=/var/mysql/data &

 

使用空密码的root用户登录数据库,重新设置root的密码

[root@CentOS ~]# mysql -u root

mysql> update mysql.user set password=password('123456') where user='root';

mysql> flush privileges;


 

 

  • 大小: 33 KB
  • 大小: 108.8 KB
  • 大小: 39.4 KB
分享到:
评论

相关推荐

    Mysql 5.6.24安装实例教程

    本文将详细介绍在Linux环境下安装MySQL 5.6.24的步骤,这些步骤适用于那些需要在服务器上部署数据库服务或者学习数据库管理的人。 首先,在安装MySQL之前,需要做一些必要的准备工作。这包括编辑系统环境变量,确保...

    基于Andorid的电子杂志应用系统设计.zip

    基于Andorid的电子杂志应用系统设计实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。

    《网络传播技术与实务》第10章-握在手中的网络——移动通信与无线网络技术.ppt

    《网络传播技术与实务》第10章-握在手中的网络——移动通信与无线网络技术.ppt

    基于COMSOL的电磁传感器用于螺孔缺陷检测的建模与仿真

    内容概要:本文详细介绍了如何利用COMSOL Multiphysics进行螺孔缺陷检测的电磁传感器建模与仿真。首先,通过参数化建模创建带有螺纹孔的金属块,并在螺纹根部引入微小V型槽作为缺陷。接着,设置了材料属性,特别是针对缺陷区域的非线性磁导率变化进行了细致调整。然后,配置了物理场环境,包括激活AC/DC模块的电流和磁场接口,设定合适的边界条件和激励电流频率范围。网格划分采用了自适应策略,确保缺陷区域的高分辨率。求解器设置为频域稳态求解,并通过后处理展示了缺陷处的电磁场分布特性,如电场强度突变和涡流密度矢量图。此外,还讨论了实际应用中的注意事项和技术细节,如表面粗糙度的影响、频率选择以及结果验证方法。 适合人群:从事无损检测、电磁仿真研究的技术人员,以及有一定COMSOL使用经验的研发人员。 使用场景及目标:适用于工业生产中对螺孔内部微小裂纹的精确检测,旨在提高产品质量和安全性,防止因隐蔽缺陷导致的重大事故发生。 其他说明:文中提供了大量具体的MATLAB和COMSOL命令代码片段,帮助读者快速复现实验步骤并深入理解每个环节的设计意图。同时强调了实际操作中的常见陷阱及其应对措施,使读者能够更好地掌握这一复杂技术的应用要点。

    【ABB机器人】-IRB1600机器人维护信息.pdf

    【ABB机器人】-IRB1600机器人维护信息.pdf

    《计算机网络基础》第2章-数据通信.ppt

    《计算机网络基础》第2章-数据通信.ppt

    rubyinstaller-devkit-3.4.3-1-x64

    ruby-3.4.3-windows-x64安装包

    声子晶体中声表面波的光学特性及其应用研究

    内容概要:本文详细探讨了声子晶体中声表面波的光学特性。声子晶体作为一种人工复合材料,能够对弹性波(即声子)进行独特调控。文中介绍了声子晶体的基础原理,包括其周期性结构产生的带隙效应,以及声表面波与其相互作用时发生的折射、反射等光学类比现象。此外,还讨论了声子晶体在传感器、通信等领域的潜在应用,特别是在构建声表面波滤波器方面的重要意义。文章通过具体的Python和MATLAB代码展示了如何模拟声子晶体的结构和声表面波的传播特性,并解释了带隙形成的物理机制。同时,强调了几何对称性和材料参数对声波调控的影响,提出了优化仿真的方法和技术。 适合人群:从事材料科学、物理学及相关领域的研究人员,尤其是对声子晶体和声表面波感兴趣的学者和技术人员。 使用场景及目标:适用于希望深入了解声子晶体声表面波光学特性的科研工作者,旨在帮助他们掌握相关理论知识和数值模拟技能,从而应用于新型声学器件的设计和开发。 其他说明:文章提供了多个实例和代码片段,便于读者理解和实践。同时,指出了实验中常见的挑战和解决方案,如材料损耗建模、缺陷引入等,有助于提高仿真的准确性。

    机械工程电梯柔性提升系统横向-纵向耦合动力学建模与仿真:基于Galerkin法的振动控制分析及工程应用(含详细代码及解释)

    内容概要:本文详细介绍了电梯柔性提升系统横向-纵向耦合动力学建模与仿真的全过程。首先,基于能量法和Hamilton原理,建立了考虑平衡绳影响的横向-纵向耦合振动控制方程,并使用Galerkin法将其离散化为常微分方程。随后,通过Python代码实现并仿真了高速电梯参数下的振动响应,分析了平衡绳和导轨不平顺对系统振动的具体影响。研究结果显示,平衡绳能有效抑制横向振动(上行降低20%,下行降低5%),但对纵向振动有一定影响;而导轨不平顺会导致横向振动突变,对纵向振动影响较小。最终,通过数值仿真验证了论文中的主要结论,为电梯振动控制提供了理论依据和工程建议。 适合人群:具备一定力学和编程基础,对机械振动、电梯工程感兴趣的科研人员和工程师。 使用场景及目标:①理解电梯柔性提升系统的振动特性及其影响因素;②掌握基于能量法和Hamilton原理建立复杂系统动力学模型的方法;③学习如何使用Galerkin法离散化偏微分方程并进行数值仿真;④为电梯系统的设计优化提供参考,特别是平衡绳和导轨安装精度的控制。 其他说明:本文不仅提供了理论分析,还通过详细的Python代码展示了完整的仿真流程,便于读者动手实践。研究结果强调了平衡绳和导轨不平顺对电梯振动的重要影响,提出了具体的设计建议,如安装平衡绳以抑制横向振动、严格控制导轨安装精度等。此外,文中还验证了钢丝绳的安全系数,确保仿真条件符合工程实际。

    《网络规划与设计教程》第二章:网络互联技术概述.ppt

    《网络规划与设计教程》第二章:网络互联技术概述

    电力电子领域单相Boost PFC电路的双闭环控制仿真模型及其实现方法

    内容概要:本文详细介绍了单相Boost功率因数校正(PFC)电路及其双闭环控制仿真模型的设计与实现。首先阐述了单相PFC电路的基础概念,解释了Boost电路的工作原理,即通过控制开关管的导通与关断来提升输入电压并实现功率因数校正。接着讨论了在网侧220V/50Hz条件下,如何利用电压外环电流内环双闭环控制系统确保输出电压稳定性和高功率因数。文中还提供了基于Python和MATLAB/Simulink的具体代码示例,展示了如何模拟Boost电路的行为以及构建双闭环控制策略。此外,针对可能出现的问题如启动时电压超调、电流波形畸变等提出了相应的解决方案和技术细节。 适合人群:从事电力电子系统设计的研究人员、工程师和技术爱好者,尤其是那些希望深入了解PFC技术和掌握相关仿真技能的人群。 使用场景及目标:适用于需要优化电力电子设备性能的应用场合,例如工业自动化、家用电器等领域。通过学习本文的内容,读者可以更好地理解和应用单相Boost PFC电路及其双闭环控制机制,从而提高产品的效率和可靠性。 其他说明:文中不仅包含了理论性的介绍,还有大量的实战经验和技巧分享,帮助读者更快地掌握这一复杂的技术领域。同时强调了在实际工程实践中应注意的关键点,如参数选择、波形调试等方面的知识。

    黑马程序员ThreeJS 3D车展效果展示(含素材源码)

    源文件

    《计算机程序设计(C语言)》第7章-第6节-变量的存储类别.ppt

    《计算机程序设计(C语言)》第7章-第6节-变量的存储类别.ppt

    《计算机程序设计(C语言)》第4章-第2节-if语句.ppt

    《计算机程序设计(C语言)》第4章-第2节-if语句.ppt

    FPGA领域Verilog实现串口通信:兼容Xilinx与Altera的收发模块设计与应用

    内容概要:本文详细介绍了基于FPGA的串口通信模块的设计与实现,涵盖波特率生成、发送模块的状态机设计以及接收模块的抗干扰措施。特别针对Xilinx和Altera两种主流FPGA平台进行了优化,确保代码可以在不同平台上无缝运行。文中不仅提供了完整的Verilog代码片段,还分享了许多实用的调试技巧,如波特率分频系数的精确计算、采样点的选择、跨平台复位信号的处理等。此外,作者还强调了硬件连接和约束文件配置的重要性,为初学者提供了一套完整的解决方案。 适合人群:对FPGA有一定了解,希望深入掌握串口通信机制的工程师和技术爱好者。 使用场景及目标:适用于需要在FPGA平台上实现可靠串口通信的应用场合,如嵌入式系统开发、工业自动化控制等领域。通过本教程的学习,读者能够独立完成串口通信模块的设计与调试,掌握关键技术和常见问题的解决方法。 其他说明:文章附带了经过验证的实际案例和代码,便于读者进行实践操作。同时提醒开发者注意电压匹配等问题,以防止硬件损坏。

    基于FX3U PLC与RS485通信板的多品牌变频器控制方案详解

    内容概要:本文详细介绍了使用FX3U PLC配合FX3U-485BD通信板对西门子V20、台达VFD-M和三菱E700三种变频器进行通信控制的方法。涵盖了硬件配置、接线方法、参数设置、程序编写等方面的内容。文中不仅提供了具体的接线步骤,还针对不同品牌的变频器给出了详细的参数配置指导,并附有简单的梯形图程序示例,帮助读者理解和实施变频器的精确控制。此外,文章还分享了一些实用的经验技巧,如解决通信不稳定等问题的方法。 适合人群:从事工业自动化领域的工程师和技术人员,特别是那些需要集成多个品牌变频器控制系统的人群。 使用场景及目标:适用于需要通过PLC对多种品牌变频器进行集中控制的应用场合,如工厂生产线、自动化设备等。主要目标是提高系统的灵活性和可靠性,减少维护成本,提升生产效率。 其他说明:文中提供的信息和案例有助于读者快速掌握PLC与变频器之间的通信控制技术,同时也强调了实际操作过程中需要注意的一些细节问题,如接线规范、参数匹配等。

    《组态软件控制技术》第7章--报表系统.ppt

    《组态软件控制技术》第7章--报表系统.ppt

    《网页制作基础教程(Dreamweaver-CS6版)》第6章-CSS与行为.pptx

    《网页制作基础教程(Dreamweaver-CS6版)》第6章-CSS与行为.pptx

    weixin286基于SSM框架的童装购买平台微信小程序+ssm(文档+源码)_kaic

    weixin286基于SSM框架的童装购买平台微信小程序+ssm(文档+源码)_kaic

    《计算机财务管理》01-02-资金时间价值.ppt

    《计算机财务管理》01-02-资金时间价值.ppt

Global site tag (gtag.js) - Google Analytics