文章目录
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之以,下面来介绍一下怎么安装MySQL
在进行MySQL的安装之前我们先要对自己的主机进行一些配置
ip a #先查看当前主机是否有IP
#如果没有IP就需要获取一个IP
dhclient #自动获取IP
因为一会的安装过程中有在线安装,所以需要主机能够上网
可以看出我们的主机是可以上网的
配置完成之后,我们来进行安装
第一种安装方式:仓库安装
1)下载MySQL的仓库 可以在MySQL的官方网站去下载,我们安装的是MySQL8.0.21版本https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
也可以使用国内的镜像网站
https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el8-x86_64/
下面进行安装
rpm -i https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
查看有两个mysql的仓库说明rpm仓库装好了
2)然后在进行MySQL的安装
dnf install mysql-server
3)启动服务
systemctl start mysqld #启动服务
grep password /var/log/mysql/mysqld.log #过滤密码,有无初始密码
mysql_secure_installation #初始化工具,5.7之前的MySQL用来设置初始密码
4)登录测试
mysql -u root -p #由刚刚上图可知,没有初始密码
show databases; #查看当前数据库,测试是否能够运行
第二种:离线安装
我们一般在服务器没有网或者网络状态不佳的时候,会进行离线安装。 因为博主是在同一个虚拟机上做的实验,所以需要卸载刚刚的安装yum -y remove mysql-server #卸载MySQL
find / -name "mysql" #查找卸载残留,并删除
1)下面开始离线安装
离线安装需要相应的压缩包,相应的压缩包我们去MySQL的官网下载
:https://dev.mysql.com/downloads/mysql/
如果不想去官网下载,这也可以下载
选择符合我们操作系统的版本
在这里我们选择第一个,第一个包含了所有的配置,其他的包只包含了其中的部分配置
点击直接下载
2)下载完成之后,把这个源码包,传到我们的主机
查看我们刚刚传入主机的压缩包
3)创建一个目录来存放mysql
mkdir /usr/local/mysql
tar -xf /root/mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql/
4)本地安装mysql
MySQL的安装有依赖关系,我已经整理出来了,避免大家踩坑
mysql-community-server-8.0.26-1.el8.x86_64.rpm
mysql-community-client-8.0.26-1.el8.x86_64.rpm
mysql-community-client-plugins-8.0.26-1.el8.x86_64.rpm
mysql-community-libs-8.0.26-1.el8.x86_64.rpm
mysql-community-common-8.0.26-1.el8.x86_64.rpm
dnf localinstall mysql-community-server-8.0.26-1.el8.x86_64.rpm
如果大家感觉这么安装比较麻烦,也可以直接安装全部包
dnf install *.rpm
启动服务进行测试
5)启动服务
验证
#启动服务
systemctl start mysqld
#服务检查
systemctl status mysqld
systemctl is-active mysqld
systemctl is-enable mysqld
#端口检查
netstat -lntup | grep 3306
lsof -i tcp:3306
#进程检查
ps -ef | grep mysql
#随机密码查找
grep password /var/log/mysqld.log
6)登录测试
mysql -u root -p #这里的登录需要密码,密码就是刚刚过滤出来的
这里报错的原因是:要修改密码之后才能操作
alter user root@localhost identified by '#REDhat123'; #密码复杂规则:要有大小写字母数字和特殊符号
成功修改密码之后就可以正常使用了
第三种:容器安装
清理刚才安装环境for i in `rpm -qa | grep mysql`;do dnf remove $i -y;done
find / -name "mysql" #查找卸载残留,并删除
rm -rf /var/lib/mysql/
rm -rf /usr/lib64/mysql/
rm -rf /var/log/mysqld.log
1)先安装容器需要的环境
dnf install -y yum-utils device-mapper-persistent-data lvm2
2)下载官方的docker仓库
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
3)安装docker并开启服务
yum install docker-ce -y
systemctl start docker
4)搜索镜像
docker search mysql
5)拉取镜像
docker pull mysql
docker images #查看拉取镜像的信息
6)运行镜像
docker run --name mysqltest -e MYSQL_ROOT_PASSWORD=123456 -d mysql
扩展:指定配置文件(不用输入)
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#some-mysql是要分配给容器的名称,my-secret-pw是为MySQL root用户设置的密码,tag是指定所需MySQL版本的标记。
指定存储(不用输入)
docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#如果用户希望使用自定义MySQL配置,则可以创建一个目录,内置cnf配置文件,然后将其挂载至容器的/ etc/mysql/conf.d目录。比如,自定义配置文件为/ my/custom/config-file.cnf,则可以使用以下指令:
三种运行方式选择一种即可
7)查看容器
docker ps
8)附加到容器(打开容器中的mysql)
docker exec -it mysqltest /bin/bash
#这里的登录密码是刚刚初始化的密码,密码为123456
9)清除环境
docker stop mysqltest
docker container prune
docker ps -a #可以查看所有容器(运行中和为运行的)
第四种:源码安装
下载方式,和离线下载一样,去MySQL的官方网站就能下载 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz如果不想去官方,下载点击这里
1)把源码包传入主机
如果主机网速快也可以使用主机直接下载
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.26.tar.gz
2)解压源码包
tar xf mysql-boost-8.0.26.tar.gz -C /usr/local/src/
3)安装编译环境工具
dnf install openssl-devel cmake make gcc gcc-c++ ncurses
4)添加组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5)编译配置
cd /usr/local/src/mysql-8.0.26/
mkdir bld
cd bld/
cmake ..
如果编译配置失败清理环境,重新编译
make clean
rm CMakeCache.txt
出现这个错误,是因为找不到gcc-toolset-10,进行安装yum -y install gcc-toolset-10
,安装完之后继续cmake ..
出现了新的问题,不要急,我们接着看,这次是因为找不到boost1_73 ,解决方法,给boost的路径,这个boost的路径就在上一级
cmake .. -DWITH_BOOST=../boost/boost_1_73_0/
缺少相应的软件包,我们继续安装他缺少的软件包,这里缺的软件包为ncurses-devel
解决方法
yum -y install ncurses-devel
话不多说,接着装
yum install libtirpc-devel
这个软件包在我们的镜像中并不存在,所以需要我们自己安装,下载请点击rpcgen-1.3.1-4.el8.x86_64.rpm
rpm -i rpcgen-1.3.1-4.el8.x86_64.rpm
继续编译配置
编译
make
6)安装
make install
7)
编译完成之后需要做的
cd /usr/local/mysql/
mkdir mysql-files
chown mysql:mysql mysql-files/
chmod 750 mysql-files/
bin/mysqld --initialize --user=mysql
执行完成之后一定要记得上面输出的临时密码
[Server] A temporary password is generated for root@localhost: 8selIRYu7%tV
bin/mysql_ssl_rsa_setup
bin/mysqld_safe --user=mysql &
cp support-files/mysql.server /etc/init.d/mysql.server
需要开机启动:
vim /etc/rc.d/rc.local
service mysql start
需要环境变量
vim /root/.bash_profile
PATH=$PATH:/usr/local/mysql/bin