首页 > 数据库 >mysql三种安装方式

mysql三种安装方式

时间:2023-10-08 15:57:54浏览次数:47  
标签:-- root app MySQL 三种 mysql DWITH 安装

mysql5.6三种安装方式

mysql官网:mysql.com

数据库排行

目录

版本选择

  • 5.6:GA6-12个月,小版本号为偶数版

  • 5.7:GA6-12个月,小版本号为偶数版,版本要高于5.7.20(MGR自带高可用功能)

为什么要使用偶数版

奇数版本通常是开发版本,偶数版本相对来说更加稳定和可靠,偶数版本一般注重向后兼容性

MySQL 安装包下载

源码安装mysql

# 1.安装依赖
[root@db03 ~]# yum install -y cmake openssl-devel ncurses-devel

# 2.下载MySQL源码包
[root@db03 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.6.50.tar.gz

# 3.解压
[root@db03 ~]# tar xf mysql-5.6.50.tar.gz

# 4.生成
[root@db03 ~]# cd mysql-5.6.50/
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql-5.6.50 \
-DMYSQL_DATADIR=/app/mysql-5.6.50/data \
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.50/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=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0

[root@db01 ~]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#数据存放位置DATADIR /usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data \
#socket文件存放位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
#使用utf8字符集
-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 \
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默认为禁用)
-DWITH_DEBUG=0

# 5.编译和安装
[root@db03 ~]# cd mysql-5.6.50/
make && make install

[root@db03 ~]# ll /app/mysql-5.6.50/
total 220
drwxr-xr-x  2 root root   4096 Jul 18 17:21 bin
drwxr-xr-x  3 root root     18 Jul 18 17:21 data
drwxr-xr-x  2 root root     55 Jul 18 17:21 docs
drwxr-xr-x  3 root root   4096 Jul 18 17:21 include
drwxr-xr-x  3 root root    291 Jul 18 17:21 lib
-rw-r--r--  1 root root 198041 Sep 23  2020 LICENSE
drwxr-xr-x  4 root root     30 Jul 18 17:21 man
drwxr-xr-x 10 root root   4096 Jul 18 17:22 mysql-test
-rw-r--r--  1 root root    587 Sep 23  2020 README
drwxr-xr-x  2 root root     30 Jul 18 17:21 scripts
drwxr-xr-x 28 root root   4096 Jul 18 17:22 share
drwxr-xr-x  4 root root   4096 Jul 18 17:22 sql-bench
drwxr-xr-x  2 root root    136 Jul 18 17:22 support-files

## 源码安装到这了,后面继续根据二进制安装:制作软连接继续。

MySQL二进制安装

# 1.安装依赖
[root@db03 ~]# yum install -y autoconf libaio-devel

# 1.解压
[root@db02 ~]# tar xf mysql-5.6.50-linux-glibc2.12-x86_64.tar.gz

# 2.创建app目录
[root@db02 ~]# mkdir /app

# 3.移动目录
[root@db02 ~]# mv /root/mysql-5.6.50-linux-glibc2.12-x86_64 /app/mysql-5.6.50

# 4.做软链接
[root@db02 ~]# ln -s /app/mysql-5.6.50 /app/mysql

# 5.创建MySQL用户
[root@db02 ~]# useradd mysql -s /sbin/nologin -M

# 6.进入初始化脚本目录
[root@db02 ~]# cd /app/mysql/scripts/
[root@db03 scripts]# ll
total 36
-rwxr-xr-x 1 root root 34977 Jul 18 17:08 mysql_install_db

# 7.初始化
## 需要指定,程序安装目录,数据目录,用户
[root@db02 scripts]# ./mysql_install_db --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data

# 8.拷贝启动脚本
[root@db02 mysql]# cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

# 9.拷贝MySQL配置文件(可有可无)
[root@db02 mysql]# cp /app/mysql/support-files/my-default.cnf /etc/my.cnf

# 9.5.添加配置文件
[root@db02 mysql]# vim /etc/my.cnf
[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data

------------------------------
## 源码安装的按上面那个生成启动不了
# 源码安装创建目录
[root@db01 mysql]# mkdir /app/mysql-5.6.50/tmp
# 源码安装授权
[root@db01 ~]# chown -R mysql.mysql /app/mysql*
---------------------------------

# 10.启动数据库
[root@db03 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/app/mysql-5.6.50/data/db03.err'.
 SUCCESS!

# 11.添加环境变量
[root@db01 ~]# vim /etc/profile.d/mysql57.sh
PATH="/app/mysql/bin:$PATH"

# 12.生效环境变量
[root@db03 scripts]# source /etc/profile

# 没有密码时设置密码
mysqladmin -uroot -p password '123'
Enter password:   // 直接回车就好,这个是让输入旧密码

源码安装启动报错

## 报错1.[root@db03 scripts]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/app/mysql-5.6.50/data/db03.err'.
230718 17:38:37 mysqld_safe Directory '/app/mysql-5.6.50/tmp' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/app/mysql-5.6.50/data/db03.pid).
 
 ## 报错问题
 #socket文件存放位置
-DMYSQL_UNIX_ADDR=/app/mysql-5.6.50/tmp/mysql.sock \

# 源码安装创建目录
[root@db01 mysql]# mkdir /app/mysql-5.6.50/tmp

## 报错2.[root@db03 scripts]# /etc/init.d/mysqld start
Starting MySQL.. ERROR! The server quit without updating PID file (/app/mysql-5.6.50/data/db03.pid).

# 源码安装授权
[root@db01 ~]# chown -R mysql.mysql /app/mysql*

报错

[root@db01 scripts]# /etc/init.d/mysqld start
Starting MySQL.230719 21:41:05 mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/var/lib/mysql/db01.pid).

# 没有搞配置文件
在/etc/my.cnf

# 9.5.添加配置文件
[root@db02 mysql]# vim /etc/ym.cnf
[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data

MySQL yum安装包下载

MySQL yum安装

#  1.下载yum源的rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm

# 2.直接安装yum源的rpm包
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm

# 3.创建MySQL仓库
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022
       file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

## 安装
yum install -y mysql-server

MySQL-5.7 的版本

源码安装

# 1.安装MySQL依赖
[root@db02 ~]# yum install -y cmake zlib-devel openssl-devel autoconf automake bison-devel ncurses-devel libaio-devel make

# 4.生成
[root@db03 ~]# cd mysql-5.7.42/
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/app/mysql/data \
-DMYSQL_UNIX_ADDR=/app/mysql/tmp/mysql.sock \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost_1_59_0 \
-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=system \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0 

# MySQL的安装目录
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.7.38 \
#数据存放位置
-DMYSQL_DATADIR=/application/mysql-5.7.38/data \
#socket文件存放位置
-DMYSQL_UNIX_ADDR=/application/mysql-5.7.38/tmp/mysql.sock \
-----------------------------------------------------------------------------
### 开启BOOST插件的下载 上面我们选择下载的源码包是带boot的 所以这里我们不需要下载
-----------------------------------------------------------------------------
#-DDOWNLOAD_BOOST=1 \
# BOOST插件的位置
-DWITH_BOOST=/usr/local/boost_1_59_0 \
#使用utf8字符集
-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 \
#启用zlib库支持(zib、gzib相关)
-DWITH_ZLIB=bundled \
#启用SSL库支持(安全套接层)
-DWITH_SSL=bundled \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
# mysql5.6支持了google的c++mock框架了,允许下载,否则会安装报错。
-DENABLE_DOWNLOADS=1 \
#禁用debug(默认为禁用)
-DWITH_DEBUG=0

二进制安装

# 7.初始化
[root@db02 mysql]# cd /application/mysql/bin

## --initialize 选项 会带初始随机密码
[root@db02 bin]# ./mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data

[root@db03 ~]# mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
2023-07-19T01:56:00.406738Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2023-07-19T01:56:00.550344Z 0 [Warning] InnoDB: New log files created, LSN=45790
2023-07-19T01:56:00.570572Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2023-07-19T01:56:00.624789Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 69150d8e-25d7-11ee-95e4-000c2910abf9.
2023-07-19T01:56:00.625294Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2023-07-19T01:56:00.839188Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2023-07-19T01:56:00.839201Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2023-07-19T01:56:00.839546Z 0 [Warning] CA certificate ca.pem is self signed.
2023-07-19T01:56:00.927317Z 1 [Note] A temporary password is generated for root@localhost: ;!wdd5kPg1gE
## 带默认随机密码的这里的密码是:;!wdd5kPg1gE

## --initialize-insecure 选项 不带密码
[root@db04 bin]# ./mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data
## 如果已经带了密码 想要换成上面不带密码的 先删除data目录 再执行上面不带密码的
[root@db03 ~]# rm -fr /app/mysql/data/

## 5.7以后的带默认密码也可以查看数据库的日志,它会打到日志里。
/data/3307/mysql.log

## 11.添加环境变量
[root@db01 ~]# vim /etc/profile.d/mysql57.sh
PATH="/app/mysql/bin:$PATH"
[root@db01 ~]# source /etc/profile

## 添加环境变量后可以
mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data

# 进入后更改密码
mysql> set password='123';

# 14.连接数据库
# 带密码输入 密码会在上面生成 不带密码就直接mysql
# 随机生成的密码在最后一行
[root@db02 bin]# mysql -uroot -p  '随机密码'

# 14.重置默认随机密码指令
新的密码为123
alter user root@'localhost' identified by '123';

默认的生成初始密码

使用 ./mysqld --initialize 命令进行初始化时,会生成一个随机的密码,该密码默认保存在日志文件中。您可以通过以下步骤来查找生成的密码:

打开 MySQL 的错误日志文件。默认情况下,错误日志文件位于 MySQL 的数据目录中。您可以在启动 MySQL 时指定 --log-error 参数来了解日志文件的位置。
例如:./mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data --log-error=/application/mysql/logs/error.log

在日志文件中搜索类似于 "temporary password" 的关键字。在日志中,会有一行包含生成的临时密码信息,形如:

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: XXXXXXXX
这里的 XXXXXXXX 是生成的临时密码。

缺少boost报错

CMake Error at cmake/boost.cmake:88 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

  This CMake script will look for boost in <directory>.  If it is not there,
  it will download and unpack it (in that directory) for you.

  If you are inside a firewall, you may need to use an http proxy:

  export http_proxy=http://example.com:80

Call Stack (most recent call first):
  cmake/boost.cmake:174 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:568 (INCLUDE)


-- Configuring incomplete, errors occurred!
See also "/root/mysql-5.7.42/CMakeFiles/CMakeOutput.log".
See also "/root/mysql-5.7.42/CMakeFiles/CMakeError.log".

## 缺少boost报错
cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp

标签:--,root,app,MySQL,三种,mysql,DWITH,安装
From: https://www.cnblogs.com/xiutai/p/17749270.html

相关文章

  • MySQL用户权限管理
    目录MySQL用户权限管理MySQL用户管理MySQL用户管理:MySQL用户密码管理误删除root用户忘记root密码真正的root权限误删除了所有用户MySQL权限管理企业中权限设置MySQL用户权限管理MySQL用户管理MySQL中的用户不是只看用户名##优化MySQL用户mysql>truncatemysql.user;MySQ......
  • MySQL体系管理结构
    MySQL客户端与服务端模型MySQL是C/S结构的服务MySQL客户端mysqlmysqladminmysqldump图形化SQLyognavicatMySQL服务端mysqldMySQL服务端的连接方式TCP/IP连接mysql-uroot-p123-h10.0.0.51Socket连接mysql-uroot-p123-S/app/mysql/tmp/mysql.sock......
  • MySQL客户端命令
    目录MySQL客户端命令优化命令提示符mysqlmysqladminmysqldumpSQL层SQL语句DDL(DatabaseDefinitionLanguage)数据定义语言数据库create增:建库drop删:删库alter改表操作create增:建表数据类型数字类型字符串类型枚举类型浮点型时间戳类型字段属性(约束)drop删alter改DMLinsert增delete......
  • 资源清单编写MySQL,wordpress
    目录mysqlwordpresshttp://k8s.driverzeng.com/v1.19/mysql[root@master-1mysql]#catmysql.yamlapiVersion:"v1"kind:"Pod"metadata:name:mysql57//资源清单叫mysql57spec:nodeName:node-1......
  • dokcer命令安装wordpress
    目录##1.镜像准备[root@docker01~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEcentos7eeb6ee3f44bd24monthsago204MB##2.创建容器[root@docker01~]#dockerrun-p80:80-dcentos:7/bin/bash-c"while......
  • Linux下PureFTPd配置安装(完整版)
    PureFTPd是一个centos中ftp服务器软件了,我们在网上有很多的关于PureFTPd安装教程了,下面小编来为各位介绍Linux下PureFTPd配置安装教程.网上关于pureftp的安装教程很多,但是试了以后发现很多其实都不完善,很容易出错,自己安装摸索以后总结如下.首先安装之前最好用netstat-ntl......
  • MySQL MHA
    MySQLMHA1.什么是MHAMHA(MasterHighAvailability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正......
  • vscode 配置后安装prettier的规则自动格式化
    建议在项目的根目录下找的.vscode文件,在这个文件下创建settings.jsong写入如下配置:{//1.在保存时格式化文件"editor.formatOnSave":true,//2.在保存时格式化文件使用prettier的方式格式化"editor.defaultFormatter":"Prettier",//文件格式化配置"[json]"......
  • MySQL专题面试题-二叉树、红黑树、B 树、B+树
    演示网址:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html所谓的索引,就是帮助MySQL高效获取数据的排好序的数据结构,基本都是按照k-v形式存储。1.二叉树 二叉树的每个节点至多只有2个叶子节点,且左边的叶子节点键值比根节点小,右边的叶子节点键值比根节点大。这......
  • ROG安装双系统win11和ubuntu
    问题:安装完成后需要在bios里设置VMDcontroller为Disabled,才能进入ubuntu。但是win11就进不去了。解决步骤:1,保持VMDcontroller为Enabled2、进入Win11界面,按Win+R,输入MSCONFIG,回车运行并在【引导】页面勾选“安全引导”后确定。3、重启时长按F2进入BIOS修改VMDcontroller为......