MySQL数据库安装及使用入门
# 前言
MySQL是目前最火的开源关系型数据库,其市场占有率仅次于关系数据库Oracle,比DB2和SQL Server高出一大截。本文作为MySQL的入门教程,介绍如何安装MySQL及基本使用。
# Mysql安装
# 包管理器安装
在Linux上安装MySQL非常简单,以Ubuntu为例,只需要执行如下命令即可:
sudo apt-get update
sudo apt-get install mysql-server
1
2
2
安装的过程中会提示输入root用户的密码,安装完成后就可以基本使用了。在实际生产环境应用的时候为了安全,需要做一些配置,本文暂时不做介绍。
如果在CentOS发行版,安装方法基本类似,具体执行如下命令:
sudo yum install mysql-server
sudo systemctl start mysqld
1
2
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
2
3
# 添加mysql系统账号
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
1
2
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
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
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
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
上次更新: 2022/12/01, 11:09:34