首先 mysql5.7是目前的主流稳定版本,下载地址可以参考官网下载  --- >  官网下载点我

笔记为markdown模式,博客园不太兼容,详细内容参考  ---  有道云笔记点我

mysql的安装方式:

  1.yum 安装 :安装方便、安装速度快,无法定制

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

  3.编译安装:可定制,安装慢。

    注意:

      5.5之前:./configure make make install

      5.5之后:cmake   gmake  

  4.先编译,然后制作rpm,制作yum库,然后yum安装。

     简单、速度快、可定制,比较复杂,制作时间长


二进制安装

依赖

yum install libaio-devel perl-Module-*

tar xf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.7.17-linux-glibc2.5-x86_64 /application/mysql-5.7.17

ln -s /application/mysql-5.7.17 /application/mysql


mysql 5.7编译安装

环境准备:

[root@db01 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

[root@db01 ~]# uname -a
Linux db01 3.10.0-862.el7.x86_64

1. 下载

mkdir  /server/tools -p   创建工具目录

下载带有boost的mysql-5.7.20(默认版本为1.59版本)

官方自带(boost版本mysql)--->推荐使用mysql官方版本 
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz tar xf mysql-boost-5.7.20.tar.gz   解压下载之后的包

2. 安装依赖包

源码安装mysql需要依赖  cmake  boost

yuminstall -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel 

3. 创建关键目录

mkdir /usr/local/mysql
mkdir /usr/local/mysql/mydata
mkdir /usr/local/mysql/conf
useradd mysql
chown -R mysql:mysql /usr/local/mysql*

4. cmake进行预编译

cd mysql-5.7.20/     切换进目录再进行如下操作

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/mydata \
-DSYSCONFDIR=/usr/local/mysql/conf \
-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DMYSQL_UNIX_ADDR=/usr/local/mysql1/mysql.sock \
-DMYSQL_TCP_PORT= -DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG= -DMYSQL_MAINTAINER_MODE= \
-DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled \
-DWITH_SYSTEMD= -DDOWNLOAD_BOOST= -DWITH_BOOST=./boost

注意:

-DWITH_SYSTEMD=     //是否支持sysytemd方式管理mysql
-DDOWNLOAD_BOOST= //自动下载boost软件支持
-DWITH_BOOST=./boost //本地boost目录 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装路径
-DMYSQL_DATADIR=/usr/local/mysql/mydata \ #数据路径
-DSYSCONFDIR=/usr/local/mysql/conf \ #配置文件
-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE= \ #管理用户
-DWITH_INNOBASE_STORAGE_ENGINE= \ #是否开启存储引擎支持
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #套接字文件
-DMYSQL_TCP_PORT= -DEXTRA_CHARSETS=all \   #端口号
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \ #默认字符集和校对规则
-DWITH_DEBUG= -DMYSQL_MAINTAINER_MODE= \
-DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled \ #是否支持SSL
-DWITH_SYSTEMD= -DDOWNLOAD_BOOST= -DWITH_BOOST=./boost

5. 进行编译安装

make && make install :等待时间较长

安装完成后:

执行echo $? 查看是否成功

初始化数据:初始化管理员密码为空

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql/mydata --basedir=/usr/local/mysql

书写基础配置文件

vim /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/mydata
socket=/tmp/mysql.sock
log_error=/var/log/mysql.log
user=mysql
[client]
socket=/tmp/mysql.sock

启动mysql

touch /var/log/mysql.log
chown -R mysql.mysql /var/log/mysql.log cd /usr/local/mysql/support-files //切换到启动目录 vim mysql.server
替换所有 mysqld_safe 为 mysqld
方法:#s#mysqld_safe#mysqld#g ./mysql.server start //启动Mysql

检查端口是否开启

编译安装 -> 优化

使用systemctl启动

注意:如果之前用其它方式开启过,请先关闭,之后在用如下方式启动。

vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld()
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target [Install]
WantedBy=multi-user.target [Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE =

使用systemcrl status  mysqld 查看

环境变量设置(无密码登录)

tail - /etc/profile
export PATH=/usr/local/mysql/bin:$PATH source /etc/profile //生效 mysql //直接使用mysql登录

将密码改为空

update mysql.user set authentication_string=PASSWORD('') where user='root' and host='localhost';
flush privileges; //立即生效
或者重启数据库也会生效。 注意: mysql.user 在每次数据库启动时会自动加载到内存,如果使用update语句直接修改表内容,mysql不会立即将变化更新内存,需要手工触发。

设置密码登录

[root@oldboy ~]# mysqladmin password
New password: //新密码
Confirm new password: //再次输入
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. //警告 [root@oldboy ~]# mysql -uroot -p123 //使用密码登录

已有密码,重设密码

[root@oldboy ~]# mysqladmin -uroot -p password
Enter password: //老密码
New password: //新密码
Confirm new password: //再次输入
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

忘记密码怎么办?

--skip-grant-tables     ----> 跳过授权表(mysql.user)
--skip-networking ----> 跳过网络用户连接 如何使用?
() 停数据库
systemctl stop mysqld ()跳过授权表启动数据库
mysqld --skip-grant-tables --skip-networking & //加 & 是后台运行
然后可以用 mysql 就可以无密码登录 ()修改密码
update mysql.user set authentication_string=PASSWORD('') where user='root' and host='localhost'; ()停库,然后正常启动
mysqladmin shutdown
systemctl start mysqld
[root@oldboy ~]# mysql -uroot -p123456 // 可以用新密码登录

    

mysql安装管理 -> 编译&yum_02的更多相关文章

  1. linux 下 mysql 安装(不用编译的方式)

    环境是centos6.x.相信其他的也大同小异.相对来说这种方式我用的比较多. 一些环境依赖表库: yum install perl yum install libaio 1)下载:在mysql的网站 ...

  2. 编译安装Mysql与管理(十四)

    [教程主题]:编译安装Mysql与管理 [课程录制]: 创E [主要内容] [1]什么是Mysql MyQL是一个开放源码的小型关系型数据库管理系统,开发者为瑞典MySQL AB公司.目前MySQL被 ...

  3. 数据库介绍(MySQL安装 体系结构、基本管理)

    第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式 ...

  4. 【转】数据库介绍(MySQL安装 体系结构、基本管理)

    [转]数据库介绍(MySQL安装 体系结构.基本管理) 第1章 数据库介绍及mysql安装 1.1 数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新 ...

  5. mysql源码编译安装

    首先去官网http://dev.mysql.com/downloads/mysql/ 下载mysql源码.我下的是5.7.10 源码选择的是 Generic Linux (Architecture I ...

  6. Mysql简介与编译安装

    ==========MYSQL工作原理图: 1>数据库简介:简单的说数据库(database)就是一个存储数据的仓库,它将数据按照特定的规律存储到磁盘上,通过数据库管理系统,能够有效的管理存储在 ...

  7. Mysql的cmake编译与安装

    Mysql的cmake编译与安装 实验准备环境: 我的操作系统是centos6.6 编译安装MariaDB之前,我们需要准备一些需要的环境 1.开发包组套件 [root@node19 ~]# yum ...

  8. CentOS下MySQL 5.7编译安装

    CentOS下MySQL 5.7编译安装   文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...

  9. MySQL 单实例编译安装 以及多实例安装简介

    这是基本的安装教程,与牛逼的大神无关,或许是牛逼大神不用看就会安装吧. CentOS 6.5 Final  x86_64 一.预安装软件包 1.开发包组合安装 yum groupinstall &qu ...

随机推荐

  1. std::string 赋值为nullptr引起程序崩溃

    一个错误排查两天,std::string赋初值时最好为"", 如果赋初值为nullptr,因为std::string不能和nullptr作比较,所以后面用的时候会引起崩溃. 佩服我 ...

  2. BZOJ 4421: [Cerc2015] Digit Division

    4421: [Cerc2015] Digit Division Time Limit: 1 Sec  Memory Limit: 512 MBSubmit: 348  Solved: 202[Subm ...

  3. 20135239 益西拉姆 linux内核分析 读书笔记之第四章

    chapter 4 进程调度 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 多任务系统可以划分为两类: - 非抢占式多任务: - 进程会一直执行直到自己主动停止运行(这一 ...

  4. linux内核分析综合总结

    linux内核分析综合总结 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 ...

  5. ip netns

    虚拟化网络都是基于netns实现,不管是昨日的openstack,还是今日的docker. ip netns ip-netns - process network namespace manageme ...

  6. struts2 的自定义 拦截器

    Struts2的 拦截器: 对于拦截器,Struts2官方给出的 定义是: 拦截器是动态拦截Action调用的对象.它提供了一种机制,使开发者可以定义一段代码,在Action执行之前或者之后被调用执行 ...

  7. adb server version (32) doesn't match this client (36); killing...

    http://blog.csdn.net/seaker_/article/details/55107598 FAQ: adb server version (36) doesn't match thi ...

  8. fzyzojP3412 -- [校内训练20171212]奇数

    套路地, 考虑dfs树上搞事情 容易发现,对于(x,y)如果dfs树上距离为奇数,或者dfs树上路径中有一条边在某个简单奇环上,那么可以经过奇数条边到达 判断边在某个奇环上: 点双,点双中黑白染色,如 ...

  9. C/C++:copy control (拷贝控制)

    前言:当定义一个类的时候,我们显示或者隐式地指定在此类型的对象拷贝,移动,赋值,销毁时做些什么,一个类通过定义五种特殊的成员函数来控制这些操作,包括拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值 ...

  10. 【Asp.net入门5-02】创建数据模型和存储库