mysql-8.0.40-1.el7.x86_64.rpm Linux MySQL 保姆级详细安装教程
一、简洁版
1.1 下载并安装
下载:mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
官网地址:
https://downloads.mysql.com/archives/community/
也可以在本文最上方资源绑定里下载。介绍:资源包里是裁剪后的,也是安装mysql 的四个必要安装包,直接安装即可。
在安装前需要先卸载 mariadb
输入以下指令查看 mariadb
rpm -qa | grep mariadb
卸载以上列出的所有的 mariadb 包
rpm -e --nodeps 安装包1 rpm -e --nodeps 安装包2
在/usr/local目录下新建 mysql 文件夹,并将下载的文件拖拽到
/usr/local/mysql
下:cd /usr/local mkdir mysql cd mysql
使用以下命令解压
tar -zxvf mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
解压后会有很多 *.rpm 的安装包,只需安装 common、libs、client、server 即可(本文最上方资源绑定里只有四个,下载后直接解压安装即可),安装指令如下:
rpm -ivh --nodeps --force mysql-community-common-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-libs-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-client-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-server-8.0.40-1.el7.x86_64.rpm
初始化 MySQL
mysqld --initialize
授权防火墙
# 将 MySQL 授权给防火墙 chown mysql:mysql /var/lib/mysql -R; # 启动 MySQL 服务 systemctl start mysqld.service; # 使 MySQL能用 systemctl enable mysqld;
查看数据库的初始密码
cat /var/log/mysqld.log | grep password
root@localhost: rzgz0mzU7Z-f
,冒号之后的就是初始密码。登录数据库
mysql -uroot -p
回车,输入初始密码。(莫慌,密码是不显示的)
修改密码为:
123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
1.2 解决三个问题
时区问题,登录数据库,输入以下内容。MySQL 以美国时区时间为准,北京时间比美国时间晚8个小时,所以
+8:00
。set global time_zone='+8:00';
开启远程服务。目的:让主机客户端也能访问 Linux 中的 MySQL
# 创建一个用户, % 是通配符,代表所有用户 create user 'root'@'%' identified with mysql_native_password by '123456'; # 授予所有用户权限 grant all privileges on *.* to 'root'@'%' with grant option; # 刷新权限 flush privileges;
exit
退出数据库,开放 3306 端口# 开放 3306 端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 重新启动防火墙 systemctl restart firewalld.service # 重新载入防火墙配置 firewall-cmd --reload
1.3 创建数据库
在宿主机连接 linux 上的数据库,创建数据库,测试连接
create database demo character set utf8 collate utf8_general_ci; use demo; create table user( id int primary key auto_increment, name varchar(20), birthday datetime ); insert into user(name, birthday) values ('小明', '2000-01-01'); insert into user(name, birthday) values ('小华', '2001-01-01');
二、图文详细版
2.1 下载并安装
下载:mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
官网地址:
https://downloads.mysql.com/archives/community/
也可以在本文最上方资源绑定里下载。介绍:资源包里是裁剪后的,也是安装mysql 的四个必要安装包,直接安装即可。
在安装前需要先卸载 mariadb
输入以下指令查看 mariadb
rpm -qa | grep mariadb
卸载以上列出的所有的 mariadb 包
rpm -e --nodeps 安装包1 rpm -e --nodeps 安装包2
在/usr/local目录下新建 mysql 文件夹,并将下载的文件拖拽到
/usr/local/mysql
下:cd /usr/local mkdir mysql cd mysql
使用以下命令解压
tar -zxvf mysql-8.0.40-1.el7.x86_64.rpm-bundle.tar
解压后会有很多 *.rpm 的安装包,只需安装 common、libs、client、server 即可(本文最上方资源绑定里只有四个,下载后直接解压安装即可),安装指令如下:
rpm -ivh --nodeps --force mysql-community-common-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-libs-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-client-8.0.40-1.el7.x86_64.rpm rpm -ivh --nodeps --force mysql-community-server-8.0.40-1.el7.x86_64.rpm
初始化 MySQL
mysqld --initialize
授权防火墙
# 将 MySQL 授权给防火墙 chown mysql:mysql /var/lib/mysql -R; # 启动 MySQL 服务 systemctl start mysqld.service; # 使 MySQL能用 systemctl enable mysqld;
查看数据库的初始密码
cat /var/log/mysqld.log | grep password
root@localhost: rzgz0mzU7Z-f
,冒号之后的就是初始密码。登录数据库
mysql -uroot -p
回车,输入初始密码。(莫慌,密码是不显示的)
修改密码为:
123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
1.2 解决三个问题
时区问题,登录数据库,输入以下内容。MySQL 以美国时区时间为准,北京时间比美国时间晚8个小时,所以
+8:00
。set global time_zone='+8:00';
开启远程服务。目的:让主机客户端也能访问 Linux 中的 MySQL
# 创建一个用户, % 是通配符,代表所有用户 create user 'root'@'%' identified with mysql_native_password by '123456'; # 授予所有用户权限 grant all privileges on *.* to 'root'@'%' with grant option; # 刷新权限 flush privileges;
链接数据库我们发现,无法连接:exit
退出数据库,开放 3306 端口# 开放 3306 端口 firewall-cmd --zone=public --add-port=3306/tcp --permanent # 重新启动防火墙 systemctl restart firewalld.service # 重新载入防火墙配置 firewall-cmd --reload
1.3 创建数据库
在宿主机连接 linux 上的数据库,创建数据库,测试连接
create database demo character set utf8 collate utf8_general_ci; use demo; create table user( id int primary key auto_increment, name varchar(20), birthday datetime ); insert into user(name, birthday) values ('小明', '2000-01-01'); insert into user(name, birthday) values ('小华', '2001-01-01');
END 配置完成