下载 mysql rpm 包 并解压
sh
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar -C ./mysql
查询是否安装过mysql
sh
rpm -qa | grep mariadb
## 如果有则卸载之
```sh
rpm -e mariadb-libs-5.5.65-1.el7.x86_64 --nodeps
进入 cd /usr/local/ 创建 mysql 目录
sh
mkdir mysql
将 rpm 包上传之此目录下 解压
sh
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
开始 安装 rpm 包 按照顺序安装
sh
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm # -nodeps --force
rpm -ivh mysql-community-client-plugins-8.0.26-1.el7.x86_64.rpm # -nodeps --force
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm # --nodeps --force
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm #--nodeps --force
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm #--nodeps --force
查看 mysql 包
sh
yum install libaio -y
rpm -qa | grep mysql
对 MySQL数据库进行初始化等相关配置
sh
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld
cat /var/log/mysqld.log | grep password
记住临时密码 备用 rsXF__Qbq3wE
登陆mysql 输入 密码 进入数据库
sh
mysql -uroot -p
#修改 root 密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
#create user 'root'@'%' identified with mysql_native_password by 'root';
#grant all privileges on *.* to 'root'@'%' with grant option;
update user set user.Host='%' where user.User='root';
flush privileges;
flush privileges;
# 查看mysql 版本#
select version();
my.cnf
yml
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql/
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysqldb
# 允许最大连接数
max_connections=151
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=20
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
配置 dblink 当有多个实例的时候 直接通过配置的方式读取远程实例节点的数据
sh
# 假设 有A B 连两个实例 ,业务需要 A实例 对B实例的表进行操作 select insert update delete
# 修改 实例A 的配置 my.cnf
[mysqld]
federated
## 实例A 创建一个dblink 表 远程访问 数据 配置远程数据库的地址 数据库 。表
## 表结构和远程的表结构相同 引擎选择 FEDERATED
CREATE TABLE role (
id int NOT NULL AUTO_INCREMENT,
role_name varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=FEDERATED CONNECTION='mysql://root:root@192.168.229.133:3306/数据库/表名';
# 此时即可通过 dblink 的方式 查询远程数据 是实时查询的 因此延迟不大 ,受网络影响大 务必保证网络的通畅
## B 的数据库不需要做任何配置 只需要 提供一个有权限的账号 数据库 表等信息
## 根据实际发现 mysql5.7 可以连接mysql 8.0