1 项目目标
(1)了解MySQL三种安装方式;
(2)熟练使用yum安装MySQL;
(3)熟练使用rpm安装MySQL;
(4)熟练使用源码安装MySQL。
2 项目准备
2.1 规划节点
主机名 | 主机IP | 节点规划 |
mysql-yum | 10.0.1.10 | yum安装MySQL |
mysql-rpm | 10.0.1.20 | rpm安装MySQL |
mysql-make | 10.0.1.30 | 源码安装MySQL |
2.2 基础准备
系统镜像:CentOS 7.9
安装包下载网址:
3 项目实施
3.1 yum安装MySQL
(1)下载MySQL的yum包
wget http://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
(2)repo安装
yum install mysql80-community-release-el7-8.noarch.rpm -y
(3)开始安装MySQL
yum install mysql-community-server -y --nogpgcheck
(4)启动MySQL服务
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
(5)获取初始密码
grep "password" /var/log/mysqld.log
(6)使用初始密码登录,并修改密码
mysql -uroot -p
#输入密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
3.2 rpm安装MySQL
(1)安装准备
rpm -qa | grep -i mysql
rpm -e [–nodeps] 包名
(2)官网下载
访问MySQL官方网站下载对应的RPM包:
- MySQL Community Server
- MySQL Community Client Library
- MySQL Community Common Files
- MySQL Community Server
- MySQL Community Client
根据需求下载以下RPM包:
- mysql-community-common-8.0.11-1.el7.x86_64.rpm
- mysql-community-libs-8.0.11-1.el7.x86_64.rpm
- mysql-community-server-8.0.11-1.el7.x86_64.rpm
- mysql-community-client-8.0.11-1.el7.x86_64.rpm
(3)上传RPM包
使用FTP工具将下载好的RPM包从Windows系统传输到Linux系统。
(4)安装RPM包
按照以下顺序安装RPM包,注意依赖关系:
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
(5)启动MySQL服务
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
3.3 源码安装MySQL
(1)下载MySQL源码包
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.13.tar.gz
(2)创建MySQL用户和组
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql
(3)创建MySQL数据存放目录
mkdir -p /data/mysql/data
mkdir -p /data/mysql/log
chown -R mysql:mysql /data/mysql/
(4)安装MySQL依赖包及工具包
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl-devel
(5)解压源码包及预编译
tar -vzxf mysql-boost-8.0.13.tar.gz
cd mysql-8.0.13/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/data/mysql/data \
> -DWITH_BOOST=/root/mysql-8.0.13/boost \
> -DSYSCONFDIR=/etc \
> -DEFAULT_CHARSET=utf8mb4 \
> -DDEFAULT_COLLATION=utf8mb4_general_ci \
> -DENABLED_LOCAL_INFILE=1 \
> -DEXTRA_CHARSETS=all \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DWITH_READLINE=1 \
粘贴运行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/root/mysql-8.0.13/boost -DSYSCONFDIR=/etc -DEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_READLINE=1
配置说明
-DCMAKE_INSTALL_PREFIX:指定MySQL安装的根目录。
-DMYSQL_DATADIR:设置MySQL数据文件的存储位置。
-DWITH_BOOST:指定Boost库的路径。
-DSYSCONFDIR:my.cnf配置文件目录
-DEFAULT_CHARSET:数据库默认字符编码
-DDEFAULT_COLLATION:默认排序规则
-DENABLED_LOCAL_INFILE:允许从本文件导入数据
-DEXTRA_CHARSETS:安装所有字符集
-DMYSQL_TCP_PORT:设置MySQL服务监听的TCP端口号
-DMYSQL_UNIX_ADDR:套接字文件路径
-DWITH_READLIN:启用Readline库的支持
(6)编译并安装
make ; make install
(7)设置MySQL安装目录的权限,并编辑主配置文件
chown -R mysql:mysql /usr/local/mysql/
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
port=3306
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
character-set-server=utf8
log-error=/data/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
(8)设置启动脚本复制启动脚本到/etc/init.d/目录,并添加执行权限
cp support-files/mysql.server /etc/init.d/mysql.server
chmod +x /etc/init.d/mysql.server
(9)初始化数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
(10)添加系统服务,并启动服务
chkconfig --add mysql.server #添加系统服务
chkconfig mysql.server on #开机自启动
chkconfig --list mysql.server #查看自启动状态
/etc/init.d/mysql.server start #启动
/etc/init.d/mysql.server status #查看
/etc/init.d/mysql.server stop #关闭
(10)设置环境变量
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
ln -s /usr/local/mysql/bin/* /usr/local/bin/
(11)启动MySQL
systemctl start mysql
systemctl status mysql
systemctl enable mysql
(12)登录MySQL
mysql
(13)配置root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
4 项目总结
本博客介绍了三种安装MySQL的方式,可以根据需要选择不同的安装方式哦。源码方式安装自定义选择更多,另外两种方式安装快,更方便。