安装MySQL8

发布时间 2024-01-11 16:10:19作者: 博小群

1..在线下载安装包(版本不是适合自己的可以修改到具体的下载地址)
wget
https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar
2.离线下载安装包,同时上传到服务器上
进入mysql的官网地址:https://dev.mysql.com/downloads/mysql/ 下载并上传到服务器上解压后
3.解压资源
tar -xvf mysql-8.0.25-1.el7.x86_64.rpm-bundle.tar

查看是否安装
rpm -qa | grep -i mysql
rpm -qa | grep -i MariaDB
安装顺序:1先安装 common;2安装:mysql-community-client-plugins;3再安装 libs;4安装 client;5安装 server
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm

如果报错
error: Failed dependencies:
libcrypto.so.10()(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el7.x86_64
libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el7.x86_64
libcrypto.so.10(libcrypto.so.10)(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el7.x86_64
libssl.so.10()(64bit) is needed by mysql-community-client-plugins-8.0.33-1.el7.x86_64
解决
yum -y install compat-openssl10

error: Failed dependencies:
libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.33-1.el7.x86_64
libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-libs(x86-64) >= 8.0.11 is needed by mysql-community-client-8.0.33-1.el7.x86_64

yum -y install libncurses*

error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-8.0.33-1.el7.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by mysql-community-server-8.0.33-1.el7.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-icu-data-files = 8.0.33-1.el7 is needed by mysql-community-server-8.0.33-1.el7.x86_64
yum -y install libaio

在安装第三个包的时候如果出现如下错误:
解除之前安装过的依赖即可:yum remove mysql-libs
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
在安装地五个包的时候如果出现如下错误:
安装libnuma依赖:yum install libnuma*

初始化 不区分大小写
mysqld --initialize --user=mysql --datadir=/data/mysql --lower_case_table_names=1

mysql -u root -p
更新密码
将/tmp/mysql.sock 设置软连接到 /var/lib/mysql/mysql.sock
命令如下:
ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock

grep 'temporary password' /var/log/mysqld.log
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
设置允许远程连接
选择mysql数据库
use mysql;
修改user表使其root用户可以通过远程连接
update user set host = '%' where user = 'root';
刷新权限
flush privileges;

开启binlog
1
查看是否开启
show variables like ‘log_%’;
开启
在linux系统下,修改/etc/my.cnf文件

编辑模式进入/etc/my.cnf

vi /etc/my.cnf

i开始进行编辑

在#log bin 后面添加内容

server_id=2
log_bin = mysql-bin
binlog_format = ROW
expire_logs_days = 30

esc 退出编辑,shift+:保存

重启mysql服务

修改root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

远程访问
update user set host='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
需要用如下命令开启远程服务。
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL ON . TO 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
三条命令按顺序执行完成后,刷新权限:
FLUSH PRIVILEGES;
MySQL8 创建数据库示例
在不同的数据库中,DATABASE 和 SCHEMA 定义不同,但在 MySQL 中,两者的概念相同,以下示例可以互换。

2.1、查看所有数据库
show databases; //返回全部的数据库,包含系统和用户创建的数据库

2.2、查看当前数据库
select database(); //返回当前正在使用的数据库

2.3、创建默认数据库
create database try8; //选项为默认值的数据库

2.4、创建带条件判断的数据库
create database if not exists try8; //不存在数据库 try8 则创建

2.5、创建带字符集和排序规则的数据库
create database try8 default character set utf8mb4 collate utf8mb4_general_ci; //通用方案

2.6、删除默认数据库
drop database try8; //删除数据库 try8

2.7、删除带条件判断的数据库
drop database if exists try8; //防止报错,存在数据库 try8 才执行删除

2.8、切换数据库
use try8; //切换当前使用的数据库为:try8
linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
1.停止MySQL
2.systemctl stop mysqld.service
3.删除 MySQL的数据 /var/lib/mysql
4.rm -rf /var/lib/mysql
5.再按照上面的方法进行一遍操作即可。