MySQL安装
一、MySQL在线方式安装
-
替换yum为清华源(可以复制直接运行)
对于 CentOS 7
# 对于 CentOS 7 sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \ -i.bak \ /etc/yum.repos.d/CentOS-*.repo
对于 CentOS 8
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \ -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \ -i.bak \ /etc/yum.repos.d/CentOS-*.repo
-
更新软件包缓存
sudo yum makecache
-
检查自己的电脑是否已经安装MySQL
yum list installed | grep mysql
(如果已经安装,存在安装记录,通过下面命令删除 yum -y remove 版本名称)
-
mysql官网下载mysql-community的yum下载的rpm文件
可以在使用centos中使用下面命令(wget从网上下载资源(网页,资源包等都可以下载)):
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
注意:wget的安装与使用:
安装wget:
yum -y install wget
检查是否安装成功:
rpm -qa|grep wget
-
将mysql-community-server下载路径添加至yum中
yum -y install mysql57-community-release-el7-10.noarch.rpm
-
下载mysql-server
yum -y install mysql-community-server
注意:若出现以下错误,下载失败报错(报错原因:公钥未安装错误):
mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm 的公钥尚未安装 失败的软件包是:mysql-community-libs-compat-5.7.37-1.el7.x86_64 GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决办法:
运用下面命令安装公钥(因为Mysql的GPG升级了,需要重新获取):
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再次运用下面命令安装,即可成功
yum install mysql-server
-
启动mysql服务
systemctl start mysqld.service
-
设置mysql开机自启
systemctl enable mysqld.service
-
查看mysql初始密码(至少启动一次mysql服务)
cat /var/log/mysqld.log | grep password
-
登录mysql
mysql -uroot -p日志中显示的密码
- 修改MySQL的root账号的密码
# 先设置为符合规范的密码: Abc123...
alter user 'root'@'localhost' identified by 'Admin123.';
# 或者
set password=password("Admin123.");
# 然后查看当前默认规则:
SHOW VARIABLES LIKE 'validate_password%';
# 修改校验密码策略等级 0 or LOW
set global validate_password_policy=LOW;
# 设置密码长度至少为 6
set global validate_password_length=6;
#最后设置 123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 或者
set password=password("123456");
-
给root用户授权,对数据库下所有表有进行操作的权限,并设置口令为“123456”
grant all on *.* to 'root'@'%' IDENTIFIED BY '123456';
-
刷新权限
flush privileges;
-
退出
quit; 或 exit;
二、MySQL离线方式安装
-
上传MySQL安装包
mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
-
解压MySQL安装包
创建一个文件夹(用于MySQL解压之后存放):
mkdir mysql_data
解压MySQL安装包到创建的文件夹:
tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql_data/
-
卸载系统自带的mariadb
rpm -qa | grep mariadb | xargs rpm -e --nodeps
-
安装MySQL依赖
切换到MySQL存放地址
cd mysql_data
安装MySQL依赖
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
-
安装mysql-client
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
-
安装mysql-server
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
注意:若出现以下错误(原因是缺少包):
warning: 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
解决办法(因为既然缺少包,那么首先想到的就是安装lbaio的包):
yum -y install libaio
yum install libaio
默认安装的是32位的,必须指定安装64位的,这一点yum实在有点不智能yum search libaio //搜索软件包(以名字为关键字) yum -y install libaio-devel.x86_64 //yum安装64位的labio
-
登录mysql
mysql -uroot -p日志中显示的密码
-
设置复杂密码(由于MySQL密码策略,此密码必须足够复杂)
alter user 'root'@'localhost' identified by 'Admin123.'; # 或者 set password=password("Admin123.");
-
更改MySQL密码策略
# 修改校验密码策略等级 0 or LOW set global validate_password_policy=LOW; # 设置密码长度至少为 6 set global validate_password_length=6;
-
设置简单好记的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; # 或者 set password=password("123456");
-
给root用户授权,对数据库下所有表有进行操作的权限,并设置口令为“123456”
grant all on *.* to 'root'@'%' IDENTIFIED BY '123456';
-
刷新权限
flush privileges;
-
退出
quit; 或 exit;
四、卸载MySQL说明
若因为安装失败或者其他原因,MySQL需要卸载重装,可参考以下内容。
-
关闭MySQL服务
systemctl stop mysqld
-
使用 rpm 命令查看已安装的安装包
rpm -qa|grep mysql 运行效果: mysql-community-libs-5.7.29-1.el7.x86_64 mysql-community-common-5.7.29-1.el7.x86_64 mysql-community-client-5.7.29-1.el7.x86_64 mysql-community-server-5.7.29-1.el7.x86_64 mysql57-community-release-el7-11.noarch
-
使用yum卸载安装的mysql
yum remove mysql mysql-server mysql-libs mysql-server
-
查询剩余的安装包
rpm -qa|grep mysql 运行效果: mysql-community-common-5.7.29-1.el7.x86_64 mysql57-community-release-el7-11.noarch
-
移除掉这些安装包
rpm -ev mysql-community-common-5.7.29-1.el7.x86_64 软件包准备中... mysql-community-common-5.7.29-1.el7.x86_64 rpm -ev mysql57-community-release-el7-11.noarch 软件包准备中... mysql57-community-release-el7-11.noarch
-
检查残余安装包
ls 运行效果: mysql57-community-release-el7-11.noarch.rpm Python-3.7.1.tar.xz.1 wget-log mysql80-community-release-el7-3.noarch.rpm usr mysql80-community-release-el7-3.noarch.rpm.1 vim
-
删除残余的安装包
rm -rf mysql*
-
继续查找是否还有残留文件
find / -name mysql 运行效果: /var/lib/mysql /var/lib/mysql/mysql /usr/share/mysql
-
依次移除这些残留文件
rm -rf /var/lib/mysql rm -rf /var/lib/mysql/mysql rm -rf /usr/share/mysql
-
最后的检查
rpm -qa|grep mysql find / -name mysql ls
五、使用可视化工具连接MySQL
-
关闭 或者 设置防火墙
第一种方式【关闭】:关闭防火墙【systemctl stop firewalld】
第二种方式【设置防火墙】:
操作1:firewall-cmd --permanent --zone=public --add-service=mysql
操作2:firewall-cmd --reload
-
使用Windows桌面的Navicat(MySQL图形化界面工具)链接MySQL
-
到此就可以连接成功了