mysql数据库源码安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

Mysql数据库采用源码安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@server ~] # wget -c http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17.tar.gz
[root@server ~] # tar -zxf mysql-5.7.17.tar.gz
[root@server ~] # cd mysql-5.7.17
[root@server mysql-5.7.17] # yum install cmake ncurses-devel -y
[root@server mysql-5.7.17] # cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \         #指定套间字路径
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \                                #设置字符集
-DDEFAULT_COLLATION=utf8_general_ci \                   #设置字符校验集
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost                            #指定Boost扩展源码路径

---------------------------------------------------------------

CMake Warning:

  Manually-specified variables were not used by the project:


    WITH_MEMORY_STORAGE_ENGINE

    WITH_READLINE



-- Build files have been written to: /root/mysql-5.7.17

---------------------------------------------------------------

出现上面的结果表示预编译成功!

1
2
[root@server mysql-5.7.17] # make -j grep 'processor' /proc/cpuinfo | wc -l 
[root@server mysql-5.7.17] # make -j grep 'processor' /proc/cpuinfo | wc -l install

检查系统是否已经有mysql用户,如果没有则创建

1
2
[root@server mysql-5.7.17] # cat /etc/passwd | grep mysql
[root@server mysql-5.7.17] # cat /etc/group | grep mysql

创建mysql用户(但是不能使用mysql账号登陆系统)

1
2
[root@server mysql-5.7.17] # groupadd mysql
[root@server mysql-5.7.17] # useradd -g mysql -s /sbin/nologin  mysql

修改权限

1
[root@server mysql-5.7.17] # chown -R mysql:mysql /usr/local/mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[root@server mysql-5.7.17] # cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf
[root@server mysql-5.7.17] # vim /etc/my.cnf
###################
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
#innodb_force_recovery=6
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id = 1
auto_increment_offset=1
auto_increment_increment=2
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
1
2
3
4
5
[root@server mysql-5.7.17] # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@server mysql-5.7.17] # vim /etc/init.d/mysqld
#####添加安装目录及数据目录
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
1
2
[root@server mysql-5.7.17] # chkconfig --add mysqld
[root@server mysql-5.7.17] # chkconfig --level 35 mysqld on


进入/etc/profile设置环境变量

1
2
3
[root@server mysql-5.7.17] # vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH                   #在末尾添加
[root@server mysql-5.7.17] # source /etc/profile


进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

#mysql5.7之前版本初始化配置表命令:

1
#script/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/

#mysql5.7已经放弃使用了,而且也没有script目录,可以使用下面这个

1
#[root@server mysql-5.7.17]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql/


生成的初始密码位于:

方法一:

1
2
[root@server mysql-5.7.17] # grep 'temporary password' /var/log/mysqld.log 
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated  for  root@localhost: MtPqF0/oN5zo

即初始密码为 MtPqF0/oN5zo    (密码是随机产生的,每台机器产生的都不一样哦)

方法二:

1
2
[root@server mysql-5.7.17] # cat /root/.mysql_secret
# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m

这里的aJqZsA2m就是生成的root随机密码啦


接下来,启动数据库,重设root密码

1
[root@server mysql-5.7.17] #  /etc/init.d/mysqld start
1
2
3
[root@server mysql-5.7.17] #  mysql  -uroot  -p
Enter password:                                       # 输入刚刚的随机密码链接数据库
mysql>  ALTER USER  'root' @ 'localhost'  IDENTIFIED BY   '新密码' ;





      本文转自MQ_douer 51CTO博客,原文链接:http://blog.51cto.com/douer/1933366,如需转载请自行联系原作者


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
关系型数据库 MySQL Linux
Centos安装MySQL数据库(注意:源码安装)
Centos安装MySQL数据库(注意:源码安装)
464 0
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
7天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
39 3
Mysql(4)—数据库索引
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
30 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
14天前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
38 5
Mysql(3)—数据库相关概念及工作原理
|
1天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
5天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
34 4
|
3天前
|
存储 SQL 关系型数据库
【入门级教程】MySQL:从零开始的数据库之旅
本教程面向零基础用户,采用通俗易懂的语言和丰富的示例,帮助你快速掌握MySQL的基础知识和操作技巧。内容涵盖SQL语言基础(SELECT、INSERT、UPDATE、DELETE等常用语句)、使用索引提高查询效率、存储过程等。适合学生、开发者及数据库爱好者。
14 0
【入门级教程】MySQL:从零开始的数据库之旅
|
6天前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
13 2
|
8天前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
33 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。