CentOS7系统上安装MySQL8.0(rpm-bundle.tar)详细过程

一、MySQL官网下载安装包

1.进入官网
MySQL :: Download MySQL Community Server
 


2.查看自己的版本和架构
 


uname -m
cat /etc/redhat-release

3.选择对应版本并下载
 


4.查看linux自带的mariadb数据库,有就卸载掉。
 


rpm -qa | grep mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

5.新建一个mysql目录,并将下载好的文件上传到这个目录(这里使用的是MobaXterm)
 


 


cd /usr/local/
mkdir mysql
cd /usr/local/mysql/

二、安装MySQL

1.解压安装包
 


tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
2.按顺序安装RPM 注意!!!

注意一定要按顺序安装 common -> client-plugins -> libs -> libs-compat -> client -> icu -> server

  • 安装 common


    rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm --nodeps --force
  • 安装 libs


    rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm --nodeps --force
  • 安装 libs-compat


    rpm -ivh mysql-community-libs-compat-8.0.33-1.el7.x86_64.rpm --nodeps --force
  • 安装 client


    rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm --nodeps --force
  • 安装 server


    rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm --nodeps --force

3.查看mysql的安装包
 


rpm -qa | grep mysql
4.查看mysqld服务当前状态
 


systemctl status mysqld
5.启用mysqld服务并再次查看其状态
 

注意!!!!启动之前需要配置一下MySQL配置文件

vi /etc/my.cnf

编辑模式将下面的配置粘贴进去并保存退出

character-set-server=utf8
server-id = 1
max_connections = 1000
group_concat_max_len = 102400
max_connect_errors = 10
table_open_cache = 4096
event_scheduler = ON
skip-name-resolve
lower_case_table_names = 1
max_allowed_packet = 64M
binlog_cache_size = 32M
max_heap_table_size = 256M
read_rnd_buffer_size = 64M
sort_buffer_size = 256M
join_buffer_size = 512M
thread_cache_size = 300
log_bin_trust_function_creators=1
key_buffer_size = 256M
read_buffer_size = 32M
read_rnd_buffer_size = 128M
bulk_insert_buffer_size = 512M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
######READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = READ-COMMITTED
tmp_table_size = 512M
log-bin=mysql-bin
binlog_format=mixed
expire_logs_days = 15
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/slow.log
long_query_time = 5
####### InnoDB
innodb_buffer_pool_size = 512M
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_log_file_size = 1024M
innodb_log_files_in_group = 4
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
#innodb_force_recovery=1
[mysqldump]
quick
max_allowed_packet = 64M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit = 65535

上面配置文件修改后启动MySQL服务:
systemctl start mysqld
systemctl status mysqld


6.查看mysql的初始密码
 


cat /var/log/mysqld.log | grep password
7.修改密码

这里注意mysql8.0以上密码必须符合这些规定:
*密码必须至少有 8 个字符
*密码必须包含大小写字母、数字和特殊字符
*密码不能与用户的用户名相同


这里要先修改一个符合策略的密码后面再更改密码策略。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'NEW_password123';


FLUSH PRIVILEGES;
刷新权限确保密码生效。


先使用这条语句去除原密码策略
SET GLOBAL validate_password.policy=LOW;
再使用这三条语句来修改密码策略
SET GLOBAL validate_password.length=6;
SET GLOBAL validate_password.number_count=0;
SET GLOBAL validate_password.special_char_count=0;

这其中validate_password.length 控制密码的最小长度,validate_password.number_count 控制密码中数字的最小数量,validate_password.special_char_count 控制密码中特殊字符的最小数量。

刷新权限使修改的策略生效

FLUSH PRIVILEGES;


ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
修改自己的密码。


退出后验证下,没有问题。

接下来分配用户:让局域网内全部用户都能访问

mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

三、防火墙设置

1.启用防火墙
 


systemctl status firewalld
查看防火墙是否开启,如果未开启使用这两条命令开启:
systemctl enable firewalld
systemctl start firewalld

2.添加mysql端口
 


firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload


验证下端口,返回yes 证明是打开的。
firewall-cmd --query-port=3306/tcp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

待续301

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值