使用rpm包安装mysql8

rpm包下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

#安装前一定要关闭selinux
#临时关闭
setenforce 0
#永久关闭
vi /etc/selinux/config

SELINUX=enforcing 改为SELINUX=disabled

#永久关闭需要重启虚拟机

1、解压安装


tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-* --force --nodeps

2、创建数据、日志目录


mkdir -p /home/dpan/mysql/data/
mkdir -p /home/dpan/mysql/logs

3、赋权mysql用户

chown -R mysql:mysql /home/dpan/mysql

4、修改mysql配置

cat > /etc/my.cnf << EOF
[client]
default-character-set = utf8mb4

[mysql_safe]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqldump]
quick
quote-names
max_allowed_packet  = 16M

[mysqld]
#log-bin=mysql-bin # 开启 binlog
#binlog-format=ROW # 选择 ROW 模式
server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
# MySQL 服务的唯一编号 几个 MySQL 服务 ID 需唯一(集群中)
server-id = 1

skip-host-cache
skip-name-resolve

# 修改时区为东8区
default-time-zone = '+8:00'

#pid-file      = /var/run/mysqld/mysqld.pid
#socket        = /var/run/mysqld/mysqld.sock
# 数据库的数据存放目录
datadir       = /home/dpan/mysql/data
# 错误日志
log-error    = /home/dpan/mysql/logs/error.log

# 跳过密码登陆(取消注释重置 root 密码)
skip-grant-tables

# 设置默认排序规则
collation-server         = utf8mb4_unicode_ci

# 客户端跟服务器字符编码不一致时拒绝连接
character-set-client-handshake = TRUE

# 指定初始化连接时的字符编码
init_connect          = 'SET NAMES utf8mb4'
init_connect          = 'SET collation_connection = utf8mb4_unicode_ci'

# 时间格式的 0000 不报错处理
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

# 创建新表时将使用的默认存储引擎
default-storage-engine = INNODB

# 锁定等待时间由默认的50s 修改为500s
innodb_lock_wait_timeout = 500

# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation = READ-COMMITTED

# 表名不分区大小写
#lower_case_table_names=1

# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'

# 最大连接数
max_connections=2000

# 最大错误连接数
max_connect_errors = 2000

# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true

# SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M

# 代表受信任的函数创建者,也就是使MySQL不对函数做出限制
log_bin_trust_function_creators = 1

# 旧密码插件
#default-authentication-plugin = mysql_native_password

# MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
# MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
connect_timeout=1800

# 内部内存临时表的最大值 ,设置成128M。
# 比如大数据量的group by ,order by时可能用到临时表,
# 超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728

# 慢查询sql日志设置
slow_query_log = 1
slow_query_log_file = /home/dpan/mysql/logs/slow.log

# 检查未使用到索引的sql
log_queries_not_using_indexes = 1

# 针对log_queries_not_using_indexes开启后,记录慢sql的频次、每分钟记录的条数
log_throttle_queries_not_using_indexes = 5

# 作为从库时生效,从库复制中如何有慢sql也将被记录
log_slow_slave_statements = 1

# 慢查询执行的秒数,必须达到此值可被记录
long_query_time = 8

# 检索的行数必须达到此值才可被记为慢查询
min_examined_row_limit = 100

#log-bin = /var/lib/mysql/log.bin

# mysql binlog日志文件保存的过期时间,过期后自动删除 7 天 = 7 * 24 * 60 * 60
#binlog_expire_logs_seconds = 604800
EOF

5、重启mysql 重置root用户密码

mysql -uroot -p       #直接回车没有密码  因为上面配置文件有配置跳过密码登陆
use mysql;
update user set authentication_string='' where user='root'; #修改root密码为空
flush  privileges;
exit

6、然后退出给配置文件skip-grant-tables跳过密码登录配置注释,重新设置root密码

vi   /etc/my.cnf
skip-grant-tables    #注释掉这段跳过密码登录的配置
systemctl restart mysqld   #重启生效

7、给root用户设置密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
flush privileges;
exit

8、使用新设置密码登录设置root用户远程

mysql -uroot -ppassword!
use mysql
alter user 'root'@'%'  identified  with mysql_native_password by 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;

#查看用户权限
select user,authentication_string,host from user;
#update user set host = '%' where user = 'root';
#FLUSH PRIVILEGES;
exit

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值