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
步骤四、解压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
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
#新增用户组
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
#编译源码,这一步时间会较长,耐心等待。
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
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
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';
=======================
重置MySQL的root用户密码
●已经知道mysql数据库的root密码
# 方法一:在shell环境中,使用mysqladmin命令设置(需要知道原密码)
[root@CentOS ~]# mysqladmin -u root -p password "123456"
# 方法二:在“mysql>”环境中,使用update命令,直接更新mysql库user表的数据
[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;
相关推荐
linux下源码编译安装mysql-5.6.25版本
### Linux下MySQL编译安装详解 #### 一、前言 在Linux环境下手动编译安装MySQL数据库是一项重要的技能,尤其对于那些需要定制化配置或在特定环境中运行MySQL的用户而言。本文将详细介绍如何在Linux系统中编译安装...
以下是一个详细的MySQL 5.5.11在Linux下的编译安装步骤: 首先,确保系统已经安装了必要的依赖库。这些库包括GCC编译器、C++支持、Fortran编译器、autoconf、automake、zlib、flex、libxml、ncurses开发包、...
linux下mysql的安装卸载和qt-x11的mysql驱动编译
在开发基于Qt的应用程序并尝试连接到MySQL...总之,解决"QMYSQL driver not loaded"错误的关键在于编译和安装Qt的MySQL驱动库。遵循上述步骤,你应该能够成功连接到MySQL数据库,从而在Linux环境中执行你的Qt应用。
在Linux环境下,构建和安装MySQL 5.7.18的源码以及Connector/C++ 1.1.8是一项技术性较强的任务。首先,我们需要理解MySQL数据库系统的基础,它是世界上最流行的开源关系型数据库管理系统,而Connector/C++是MySQL...
本文将详细介绍如何在Linux环境下安装和卸载MySQL,包括二进制版本的处理方法。 **一、卸载已存在的MySQL** 1. **检查已安装的MySQL版本**: 使用`rpm -qa | grep mysql`或`rpm -qa | grep MySQL`命令,查看系统...
### Linux环境下编译安装MySQL、Apache与PHP的详细步骤 #### 搭建环境与安装Linux 1. **安装虚拟机:** - 运行VMware Workstation。 - 双击“新建虚拟机”按钮。 - 选择安装文件路径。 - 在系统类型选择界面中...
linux下mysql5.5.19编译安装笔记
linux环境下MySQL源码编译安装及初始化,使用cmake安装,如何添加配置文件,配置客户端,以及初始化。
本资源“Linux_mysql_5.6.24安装包.rar”提供了在Linux环境中安装MySQL 5.6.24版本的具体RPM包,以及相关的JDBC驱动,为在Linux上构建数据库服务提供了便利。 首先,我们来详细了解一下MySQL 5.6.24这个版本。MySQL...
在Linux系统中安装MySQL数据库是...以上就是使用RPM包在Linux下安装MySQL的详细过程。请确保在执行每一步时,都根据你的具体环境和MySQL版本进行调整。此外,记得定期更新MySQL到最新版本,以获取安全性和性能的提升。
在Linux环境下,为PC机和ARM开发板编译并使用QT下的MySQL驱动涉及到多个步骤,主要是针对不同平台的编译配置。以下将详细介绍这些过程。 首先,对于PC机上特定版本的QT-x86下的MySQL驱动编译: 1. 安装MySQL驱动...
标题"Linux安装MySQL-devel"指向了一个具体的操作任务,即在Linux环境下安装MySQL的开发库。在这个过程中,我们将主要关注以下知识点: 1. **MySQL-devel组件**:MySQL-devel包含了用于编译MySQL客户端和服务器端...
### Linux下MySQL 5.5安装配置全解析 在Linux环境下安装配置MySQL 5.5是一个涉及多个步骤的复杂过程,本文将详细阐述这一过程,包括必要的准备工作、具体步骤以及可能遇到的问题及其解决办法。 #### 一、安装CMake...
本文档将介绍如何在Linux系统中,特别是基于Fedora 17的64位版本上,通过rpm包进行OpenCA的免编译安装部署。 首先,需要下载OpenCA的四个主要软件包,这些包包括了OpenCA的主要功能模块: - openca-tools-1.3.0-1....
Linux系统:CentOS 6.5版本下编译安装MySQL 5.6.16教程,涉及:linux基础命名,Mysql安装教程以及注意事项。
本篇将详细介绍在Linux下通过编译安装MySQL 5.6.29的过程,这给用户提供了更多的自定义选项,以便优化配置和满足特定需求。 首先,我们需要下载MySQL的源码包。根据提供的信息,这里已经有了`mysql-5.6.29`的压缩...
在Linux(如CentOS)系统上手动编译MySQL 8.0.33的过程涉及多个步骤,包括获取源代码、配置、编译和安装。以下是对这个过程的详细讲解: 1. **准备工作**: - 首先,确保你的Linux系统是最新的,更新所有包以避免...