千家信息网

MySQL-5.6.38 安装部署及介绍

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,第1章 MySQL简介及部署1.1 介绍1.1.1 什么是数据数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽
千家信息网最后更新 2025年02月02日MySQL-5.6.38 安装部署及介绍

第1章 MySQL简介及部署

1.1 介绍
1.1.1 什么是数据

数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。


1.1.2 数据库管理系统种类---关系型

优点:

强大的查询功能

强一致性

二级索引

RDBMS:Oracle、MySQL、mssql(SQL Server)、PG(postgresql)

适用场景:数据安全性要求较高的应用场景


1.1.3 数据库管理系统种类---非关系型

优点:

灵活模式

扩展性

性能

NoSQL:redis、mongodb、memcache、Hbase、neo4j

适用场景:针对性能要求较高,数据安全性要求不是太高的场景,一般是配合RDBMS使用的产品


1.2 MySQL部署
1.2.1 安装方式

1、 rpm或yum安装:安装方便、安装速度快、无法定制

2、 二进制:不需要安装,解压即可使用,不能定制功能

3、 编译安装:可定制,安装速度慢 (5.5版本之前:./configure make make install | 5.5之后:cmake gmake)


1.2.2 编译安装
1.2.3 安装环境准备

系统版本:Linux Centos-6.9 2.6.32-696.23.1.el6.x86_64

MySQL软件版本:5.6.38

IP地址与主机名:10.0.0.51 db01


1.2.4 MySQL软件包获取方式

https://downloads.mysql.com/archives/community/ #官网下载


1.2.5 开始安装

(1) 安装依赖包:

yum install -y ncurses-devel libaio-devel gcc-c++ gcc ncurses-devel freeglut-devel


(2) 安装cmake

yum install -y cmake


(3) 创建mysql用户,用来管理mysql

useradd -s /sbin/nologin -M mysql


(4) 解压软件包

tar xf mysql-5.6.38.tar.gz


(5) 开始编译安装


cd mysql-5.6.38 #<====进入解压后的目录


cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \

-DMYSQL_DATADIR=/application/mysql-5.6.38/data \

-DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/tmp/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_FEDERATED_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \

-DWITH_ZLIB=bundled \

-DWITH_SSL=bundled \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DENABLE_DOWNLOADS=1 \

-DWITH_DEBUG=0


make && make install #<======编译安装

#===================================

Cmake 做了什么?

1、做了些预配置

2、影响了编译后的程序(编译过程会将cmake指定的配置信息硬编码到程序文件中)

mysqld

mysql

mysql_install_db

mysqldump

mysqladmin

mysqld_safe

等。

#=====================================


ln -s /application/mysql-5.6.38/ /application/mysql #<====创建安装目录的软链接

cp support-files/my*.cnf /etc/my.cnf #<===复制my.conf到etc目录下


#==================

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql #<=====初始化数据库

#==================

chown -R mysql.mysql /application/mysql/ #<====修改软件路径归属

cp support-files/mysql.server /etc/init.d/mysqld #<===拷贝启动脚本到Sys-v模式目录

chmod 700 /etc/init.d/mysqld

/etc/init.d/mysqld start #<======启动数据库

netstat -lntup|grep 3306 #<======检查服务端口号

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile #<=====添加环境变量

source /etc/profile


mysql #【回车】#启动mysql数据库,首次启动没有密码

++++++++++++++++++++++++++++++拓展部分+++++++++++++++++++++++++++++++++++++

修改密码:

1.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:

mysqladmin -u root password 123456


2.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:

mysqladmin -u root -p password abcdef

注意,命令回车后会问你旧密码,输入旧密码123456之后命令完成,密码修改成功。


3.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:

mysqladmin -u root -p123456 password abcdef (注意-p 不要和后面的密码分

开写,要写在一起,不然会出错,错误如下所示)


4.使用phpmyadmin,这是最简单的了,修改mysql库的user表,

不过别忘了使用PASSWORD函数。

忘记密码:

下面我们提供了6种不同的修改mysql root用户的密码,与增加mysql用户的方法。


方法一

使用phpmyadmin,这是最简单的了,修改mysql库的user表,

不过别忘了使用PASSWORD函数。


方法二

使用mysqladmin,这是前面声明的一个特例。

mysqladmin -u root -p password mypasswd

输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。

把命令里的root改为你的用户名,你就可以改你自己的密码了。

当然如果你的mysqladmin连接不上mysql server,或者你没有办法执行mysqladmin,

那么这种方法就是无效的。

而且mysqladmin无法把密码清空。

下面的方法都在mysql提示符下使用,且必须有mysql的root权限:


方法三

mysql> INSERT INTO mysql.user (Host,User,Password)

VALUES('%','jeffrey',PASSWORD('biscuit'));

mysql> FLUSH PRIVILEGES

确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。

在《mysql中文参考手册》里有这个例子,所以我也就写出来了。

注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。


方法四

和方法三一样,只是使用了REPLACE语句

mysql> REPLACE INTO mysql.user (Host,User,Password)

VALUES('%','jeffrey',PASSWORD('biscuit'));

mysql> FLUSH PRIVILEGES


方法五

使用SET PASSWORD语句,

mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');

拟也必须使用PASSWORD()函数,

但是不需要使用FLUSH PRIVILEGES。


方法六

使用GRANT ... IDENTIFIED BY语句

mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';

这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。

注意: PASSWORD() [不是]以在Unix口令加密的同样方法施行口令加密。

MySQL 忘记口令的解决办法

如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。

启动 MySQL :bin/safe_mysqld --skip-grant-tables &

就可以不需要密码就进入 MySQL 了。

然后就是

>use mysql

>update user set password=password("new_pass") where user="root";

>flush privileges;

重新杀 MySQL ,用正常方法启动 MySQL 。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

密码 方法 数据 命令 用户 编译 函数 数据库 场景 目录 符号 软件 口令 版本 系统 语句 这是 管理 输入 安全 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 durectx数据库更新任务 网络安全的重要性演讲稿 中科嘉优1号数据库 转录后调控预测数据库 数据库金钱字类型 与网络技术专业的相关职业 服务器虚拟化又分为哪两大类 海康威视管理服务器 高斯数据库修改数据方式 网络安全法实施中的问题 组态王数据库自动存储成文件 软件开发的成本核算方法 计算机网络安全基础密码算法 榆树智能网络技术质量保障 湖南单招学校中软件开发 数据库原理第7版答案 网络安全信息分为几个等级 怎么在家自学软件开发 杨浦区一站式软件开发业务流程 梅州app软件开发解决方案 南京学习网络安全人才缺口大 阿里云重启服务器 腾讯视频数据库在哪里 微软验证器与服务器 高中网络技术应用答案 网络安全是仅出现在计算机吗 消防保密和网络安全教育平台 怎样添加一个新的数据库用户 计算机网络安全应急 网络安全试试时间
0