Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • 操作系统

  • 计算机网络

  • 数据结构和算法

  • MySQL

    • MySQL数据库安装及使用入门
      • 前言
      • Mysql安装
        • 包管理器安装
        • 源码编译安装
        • 安装依赖包
        • 添加mysql系统账号
        • 安装Boost
        • 安装Mysql
      • Mysql基础操作
    • SQL语句分类
    • Mysql基础操作
    • Mysql性能测试工具mysqlslap
    • Mysql存储引擎比较
    • Mysql查询慢日志
    • Mysql binlog详解
    • Mysql主从复制
    • Mysql核心知识汇总
    • Mysql中间件MyCat使用
    • Mysql中分表和分区差异
    • MySql表锁、行锁、共享锁、排他锁、乐观锁、悲观锁
    • 深入理解Mysql复制机制
    • 深入理解Mysql事务
    • 深入理解Mysql索引
    • 谈一谈Mysql分库分表
    • Mysql常见优化技巧
  • Redis

  • Nginx

  • MongoDB

  • 其他

  • 计算机基础
  • MySQL
Ravior
2011-03-25
目录

MySQL数据库安装及使用入门

# 前言

MySQL是目前最火的开源关系型数据库,其市场占有率仅次于关系数据库Oracle,比DB2和SQL Server高出一大截。本文作为MySQL的入门教程,介绍如何安装MySQL及基本使用。

# Mysql安装

# 包管理器安装

在Linux上安装MySQL非常简单,以Ubuntu为例,只需要执行如下命令即可:

sudo apt-get update
sudo apt-get install mysql-server
1
2

安装的过程中会提示输入root用户的密码,安装完成后就可以基本使用了。在实际生产环境应用的时候为了安全,需要做一些配置,本文暂时不做介绍。

如果在CentOS发行版,安装方法基本类似,具体执行如下命令:

sudo yum install mysql-server
sudo systemctl start mysqld
1
2

# 源码编译安装

在Linux下安装Mysql相对来说比较复杂,因为Mysql依赖第三方包,如果系统没有安装这些依赖包会导致安装失败,但是源码编译安装可以按照个人需求进行配置,以Ubuntu为例,源码编译安装过程如下:

# 安装依赖包

sudo apt-get install libncurses5-dev
sudo apt-get install bison
sudo apt-get install pkg-config
1
2
3

# 添加mysql系统账号

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
1
2

# 安装Boost

因为Mysql依赖boost,需要先通过源码编译安装boost。

Boost官网:https://www.boost.org/ (opens new window)

安装过程如下:

# 下载Boost安装包
wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
# 解压安装包
tar zxvf boost_1_59_0.tar.gz
cd boost_1_59_0
# 生成编译脚本
./bootstrap.sh --with-libraries=all --with-toolset=gcc
# 编译
./b2 toolset=gcc
# 安装
sudo ./b2 install --prefix=/usr
1
2
3
4
5
6
7
8
9
10
11

# 安装Mysql

本文以最新版Mysql为例: https://dev.mysql.com/downloads/mysql/5.7.html#downloads (opens new window)

安装过程如下:

# 下载安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26.tar.gz
# 解压安装包
tar zxvf mysql-5.7.26.tar.gz
cd mysql-5.7.26
# 构建项目,配置安装路径/数据存放路径/默认编码等
sudo cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DWITH_BOOST=../boost_1_59_0 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# 编译
make
# 安装
sudo make install

# 创建数据存放路径,修改目录权限
cd /usr/local/mysql
sudo mkdir data
sudo mkdir tmp
sudo mkdir var
sudo chown -R mysql:mysql .

cd /usr/local/mysql/bin
# 执行数据库初始化,会有个初始密码, 复制记录下来
sudo ./mysqld --initialize --user=mysql
# 启动mysql
# cd /usr/local/mysql/support-files
# sudo ./mysql.server start

# 重置初始化密码
cd /usr/local/mysql/bin
sudo ./mysql -u root -p
alter user user() identified by "你要设置的新密码";

# 配置系统服务
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

# 启动/关闭mysql
sudo service mysql start/top

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
27
28
29
30
31
32
33
34
35
36
37

由于在5.7.18开始,二进制包不再包含示例文件my-default.cnf, 参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html (opens new window)

我们可以手动添加, 配置文件默认路径为:/etc/my.cnf,可参考下面配置:

[client]
port        = 3306
socket      = /tmp/mysql.sock

[mysqld]
port        = 3306
bind-address = 192.168.1.106
socket      = /tmp/mysql.sock
basedir         = /usr/local/mysql
datadir         = /usr/local/mysql/data
pid-file =  /usr/local/mysql/tmp/mysql.pid

# 慢查询日志相关
slow_query_log = on       
long_query_time = 2       #默认10秒
slow_query_log_file = /usr/local/mysql/var/slow_query.log
log-queries-not-using-indexes #如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Mysql基础操作

Mysql基础操作可参考文章: https://gitlib.com/page/mysql-base.html

#MySQL
上次更新: 2022/12/01, 11:09:34
二叉搜索树转双向链表
SQL语句分类

← 二叉搜索树转双向链表 SQL语句分类→

最近更新
01
常用游戏反外挂技术总结
11-27
02
Golang开发实践万字总结
11-11
03
Redis万字总结
10-30
更多文章>
Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式