一、查看是否安装
1)rpm -qa|grep mysql
2) rpm -e mariadb-libs
二、卸载
1) yum -y remove mysql*** or rpm -e --nodeps mysql***
2)rpm -e mariadb-libs --nodeps
三、更新
1)sudo yum update -y
四、下载
链接:https://pan.baidu.com/s/13wWDF4JzyXRDW2FFOKC_Yw
提取码:qwer
五、安装依赖
1)sudo yum install libaio ,yum install libncurses*
六、创建用户及用户组
1)groupadd mysql
2)useradd -s /sbin/nologin -r -g mysql mysql
七、创建安装目录
1)mkdir -p /home/mysql/
2)mkdir -p /home/mysql/data
3)mkdir -p /home/mysql/log
4)mkdir -p /home/mysql/binlog
5)mkdir -p /home/mysql/relaylog
6)mkdir -p /home/mysql/sock
八、安装
1)tar -xvf mysql-8.0.27-linux-glibc2.17-x86_64-minimal.tar.xz(解压)
2)chown -R mysql:mysql /home/mysql/(将mysql文件更改mysql用户组)
3)sudo vim /etc/profile(修改环境变量)
4)export PATH=$PATH:/home/mysql/bin(最后一行添加)
5)source /etc/profile(立即生效)
6)touch /etc/my.cnf
7)mkdir /etc/my.cnf.d
8)新建txt文本文档,将以下内容复制,并将txt改名为my.cnf替换
[mysqld]
user = mysql
port = 3306
default-storage-engine=INNODB
character_set_server = utf8mb4 # 默认
collation_server = utf8mb4_bin
basedir = /home/mysql
datadir = /home/mysql/data
socket = /home/mysql/sock/mysql.sock
transaction_isolation = READ-COMMITTED
lower_case_table_names = 1
max_connections=200
max_connect_errors=10
server_id = 1
# 程序启动的 pid 文件
pid-file = /home/mysql/sock/mysql.pid
#错误日志
log_error = /home/mysql/log/error.log
#常规查询日志
general_log_file = /home/mysql/log/general.log
#二进制日志
log_bin = /home/mysql/binlog/mysql-bin
log_bin_index = /home/mysql/binlog/mysql-bin.index
binlog_expire_logs_seconds = 1296000 # 15天之前的日志自动删除
binlog_format = ROW
# 慢查询日志
slow_query_log = 1
slow_query_log_file = /home/mysql/log/slow-query.log
#中继日志
relay_log_index = /home/mysql/relaylog/mysql-relay-bin.index
relay_log = /home/mysql/relaylog/mysql-relay-bin
#为了复制设置中的持久性和一致性,使用:InnoDB
#如果启用了二进制日志记录,请设置 .sync_binlog=1
#始终设置 innodb_flush_log_at_trx_commit=1。
innodb_flush_log_at_trx_commit= 1
sync_binlog = 1
#innodb settings
innodb_data_file_path=ibdata1:50M:autoextend #初始化缓存50M,并自动增加
#定义缓冲池的大小 建议系统内存50%-75%
# 配置 InnoDB 缓冲池区块大小
innodb_buffer_pool_chunk_size=1073741824 #默认128Mb
innodb-buffer-pool-instances=2
innodb_buffer_pool_size = 2G # 上面2个相乘
#配置 InnoDB I/O 容量
innodb_io_capacity = 200 #7200rpm 或 ssd ,默认100
innodb_print_all_deadlocks = ON #所有死锁的信息将记录在错误中 日志
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置 mysql 客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
socket = /home/mysql/sock/mysql.sock
#[mysqld_safe]
#!includedir /etc/my.cnf.d
9)进入/home/mysql/bin/初始化
./mysqld --initialize --user=mysql --basedir=/home/mysql/ --datadir=/home/mysql/data/
10) cd /home/mysql/support-files/
sudo vim mysql.server(修改配置文件)
11)cd /home/mysql/support-files
./mysql.server start(启动服务)
12)sudo cat /home/mysql/log/error.log(查看临时密码)
13)登录数据库修改密码并创建用户
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
create user 'sa'@'localhost' identified by '你的密码';(这里用户名为sa)
14)授予权限
1、select user,host from mysql.user;(查看用户是否创建成功)
2、use mysql;
3、update user set host = '%' where user = 'sa';
grant all privileges on *.* to 'sa'@'%';(使sa账户拥有远程权限)
4、flush privileges;(刷新数据库)
5、select user,host from mysql.user;(再次查看是否成功)
15)重启服务
systemctl restart mysqld.service
九、防火墙
1)
sudo firewall-cmd --add-port=3306/tcp --permanent(打开3306)
sudo firewall-cmd --zone=public --list-ports(查看是否成功)