01-DBA自学课-安装部署MySQL

发布于:2024-03-29 ⋅ 阅读:(15) ⋅ 点赞:(0)

一、安装包下载

1,登录官网

MySQL :: MySQL Downloads

2,点击社区版下载

3,找到社区服务版

4,点击“档案”Archives

就是找到历史版本;

5,选择版本进行下载

本次学习,我们使用MySQL-8.0.26版本;

由于,我们在linux-CentOS-7环境下学习使用,所以,需要使用虚拟机;

虚拟机信息==10.0.0.51-db01     1核2G内存    

二、安装MySQL

1,上传安装包

[root@db01 ~]# rz -E
[root@db01 ~]# ll
...............
-rw-r--r--  1 root root 914806904 3月  23 17:07 mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz

2,解压安装包

[root@db01 ~]# tar xf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
[root@db01 ~]# ll /usr/local/
...............
drwxr-xr-x  9 root root 129 3月  23 17:16 mysql-8.0.26-linux-glibc2.12-x86_64

查看安装包大小,是否为1.5g

[root@db01 ~]# du -sh /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/
1.5G    /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/

3,创建软连接

为了方便管理

[root@db01 ~]# ln -s /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql

4,配置MySQL命令环境变量

[root@db01 ~]# vim /etc/profile

..............

export PATH="$PATH:/usr/local/mysql/bin"

[root@db01 ~]# source /etc/profile

5,安装MySQL的依赖包

MySQL在linux-CentOS-7必备的依赖,不安装依赖就无法使用MySQL;

[root@db01 ~]# yum -y install libaio-devel

提示:MySQL运行需要/usr/lib64/libncurses.so.5作为运行依赖,

CentOS-8的系统,默认没有这个依赖,有其他解决方案;

#第一种方案:将/usr/lib64/libncurses.so.6,软连接成/usr/lib64/libncurses.so.5;
[root@db01 ~]# ln -s /usr/lib64/libncurses.so.6  /usr/lib64/libncurses.so.5

#

#第二种方案:在线安装依赖包;
[root@db01 ~]# yum -y install ncurses-compat-libs

6,测试MySQL是否可用

[root@db01 ~]# mysql -V
mysql  Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
[root@db01 ~]# mysql --version
mysql  Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)

三、配置MySQL基础设置

1,创建MySQL的管理用户

[root@db01 ~]# useradd -u 1001 mysql -M -s /sbin/nologin
[root@db01 ~]# id mysql 
uid=1001(mysql) gid=1001(mysql) 组=1001(mysql)

2,创建数据和日志目录

[root@db01 ~]# mkdir -p /data/80/{data,logs}

3,授权目录给MySQL用户

[root@db01 ~]# chown -R mysql.mysql /data/
[root@db01 ~]# ll /data/
总用量 0
drwxr-xr-x 4 mysql mysql 30 3月  23 17:30 80

4,初始化MySQL服务

· 不安全的初始化

实际就是,不设置初始化密码的意思;

初始化之前,如果data目录和日志目录下有东西,需要全部删除,否则无法初始化成功;

[root@db01 ~]# mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/80/data

--initialize-insecure  #初始化的命令

--user=mysql           #指定数据库的操作用户

--basedir=/usr/local/mysql     #基础目录(mysql的原始目录)

--datadir=/data/80/data          #指定数据目录在哪里?

· 安全的初始化

会随机给你生成一个密码;一般不用;

[root@db01 ~]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/80/data

· 拓展:其他版本初始化

#5.6版本

mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/80/data

#

#5.7版本和8.0版本

mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/80/data

5,编辑MySQL配置文件

[root@db01 ~]# vim /etc/my.cnf

[mysql]
socket=/tmp/mysql.sock
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/80/data
socket=/tmp/mysql.sock
innodb_fast_shutdown=0

6,配置systemctl管理MySQL

[root@db01 ~]# vim /usr/lib/systemd/system/mysql.service

[Unit]
Description=MySQL8.0 Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql

#看着一行,需要配置的内容路径;
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000

[root@db01 ~]# systemctl daemon-reload
[root@db01 ~]# systemctl enable --now mysql.service

7,查看是否启动成功

[root@db01 ~]# netstat -tnulp

8,其他启动方式

之后会讲......

本文含有隐藏内容,请 开通VIP 后查看