MySQL数据库安装及使用入门

前言

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

Mysql安装

包管理器安装

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

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

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

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

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

源码编译安装

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

安装依赖包

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

添加mysql系统账号

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

安装Boost

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

Boost官网:https://www.boost.org/

安装过程如下:

1
2
3
4
5
6
7
8
9
10
11
# 下载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

安装Mysql

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

安装过程如下:

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
# 下载安装包
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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[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语句记录到慢查询日志文件中

Mysql基础操作

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

有用就打赏一下作者吧!