LAMP架构(2)——MySQL的搭建(适合小白)
程序员文章站
2022-05-16 23:18:59
一、概述MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。优点体积小、速度快、总体拥有成本低、开放源码。二...
一、概述
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。关系数据库将数据保存在不同的表中,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
优点:速度快、轻量、开源、性能优良、简单易用、总体拥有成本低、开放源码。
二、搭建MySQL
上传文件包至opt目录中并解压
所需软件包:mysql-boost-5.7.20.tar.gz
[root@localhost ~]# cd /opt
[root@localhost opt]# ll
-rw-r--r--. 1 root root 48833145 Sep 29 04:23 mysql-boost-5.7.20.tar.gz
[root@localhost opt]# tar xf mysql-boost-5.7.20.tar.gz
[root@localhost opt]# ll
drwxr-xr-x. 36 7161 31415 4096 Sep 13 2017 mysql-5.7.20
-rw-r--r--. 1 root root 48833145 Sep 29 04:23 mysql-boost-5.7.20.tar.gz
安装MySQL所需环境
[root@localhost opt]# yum -y install \
ncurses \ //一种计算机语言,字符终端处理库
ncurses-devel \ //字符终端下屏幕控制的基本库,在TTY下登录到主机上mysql需要
bison \ //语法分析器生成器
cmake //跨平台的安装(编译)工具
配置模块
[root@localhost opt]# cd /opt/mysql-5.7.20
[root@localhost mysql-5.7.20]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定安装位置
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //通讯文件,缺少无法登陆
-DSYSCONFDIR=/etc \ //指定系统配置目录
-DSYSTEMD_PID_DIR=/usr/local/mysql \ //指定PID文件路径
-DDEFAULT_CHARSET=utf8 \ //指定默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默认字符集校对规则
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //innobase存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ //归档存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ //黑洞存储引擎
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //
-DMYSQL_DATADIR=/usr/local/mysql/data \ //数据库数据目录
-DWITH_BOOST=boost \ //boost库
-DWITH_SYSTEMD=1 //
编译安装及调整权限
[root@localhost mysql-5.7.20]# make && make install
[root@localhost mysql-5.7.20]# chown -R mysql:mysql /usr/local/mysql/
建立调整配置文件
[root@localhost mysql-5.7.20]# vi /etc/my.cnf //原有内容删除,替换以下内容
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character_set_server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket = /usr/local/mysql/mysql.sock
server-id = 1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
[root@localhost mysql-5.7.20]# chown mysql:mysql /etc/my.cnf
设置环境变量
[root@localhost mysql-5.7.20]# echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# echo 'export PATH' >> /etc/profile
[root@localhost mysql-5.7.20]# source /etc/profile
[root@localhost mysql-5.7.20]# cd /usr/local/mysql/
[root@localhost mysql]# bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
[root@localhost mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost mysql]# systemctl enable mysqld
[root@localhost mysql]# systemctl start mysqld
[root@localhost mysql]# systemctl status mysqld
[root@localhost mysql]# netstat -anpt | grep 3306
tcp6 0 0 :::3306 :::* LISTEN 9641/mysqld
[root@localhost mysql]# mysqladmin -u root -p password "abc123"
[root@localhost mysql]# mysql -u root -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
此时MySQL部署完成
本文地址:https://blog.csdn.net/qq_47113765/article/details/108870680