RedHat7安装Mysql5.7

安装包下载

MySQL 5.7 Linux安装包下载:https://dev.mysql.com/downloads/mysql/5.7.html
选择 5.7.41
image.png
选择安装包
image.png

卸载Mariadb
rpm -qa | grep mariadb
rpm -e --nodeps ⽂件名
新建⽤户、组
# 添加mysql⽤户组
groupadd mysql
# 添加mysql⽤户
useradd -g mysql mysql -d /home/mysql
# 修改mysql⽤户的登陆密码
passwd mysql
创建数据库相关⽬录
/home/mysql/3306/data
/home/mysql/3306/log
/home/mysql/3306/tmp
解压下载mysql.tar
tar -xvf mysql-5.7.22-el7-x86_64.tar
tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz
# 修改mysql⽂件夹下所有⽂件的⽤户和⽤户组
chown -R mysql:mysql mysql/
配置⽂件
# 创建配置⽂件
cd /etc
# 在my.cnf⽂件中添加对应的配置项,末尾会提供⼀个默认的my.cnf配置
vi my.cnf
安装数据库
# 初始化数据库,并指定启动mysql的⽤户
./mysqld --initialize --user=mysql
  1. 安装完成后,在my.cnf中配置的datadir⽬录下⽣成⼀个error.log⽂件,⾥⾯记录了root⽤户的
    随机密码。
设置开机启动
# 复制启动脚本到资源⽬录
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执⾏权限
chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加⼊到系统服务
chkconfig --add mysqld
# 用这个命令设置开机启动
chkconfig mysqld on    
# 检查mysqld服务是否已经⽣效
chkconfig --list mysqld

# 切换⾄mysql⽤户,启动mysql
service mysqld start
配置环境变量
# 切换⾄mysql⽤户
su - mysql
# 修改配置⽂件,增加export PATH=$PATH:/usr/local/mysql/bin
vi .bash_profile
# ⽴即⽣效
source .bash_profile
登录修改密码
# 登陆mysql
mysql -uroot -p
# 修改root⽤户密码
set password for root@localhost=password("root");
其他操作(常用用户操作示例)

为需要远程登录的用户赋予权限

#1、新建用户远程连接mysql数据库
grant all on *.* to admin@'%' identified by '123456' with grant option; 
flush privileges;
#允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
#注意admin账户不一定要存在。
#2、支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;   

撤销已经赋予用户的权限

#revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

删除用户:

delete FROM user Where User='test' and Host='localhost';
flush privileges;
#删除账户及权限:
drop user 用户名@'%';
drop user 用户名@ localhost;
my.conf
[client]
# 客户端设置,即客户端默认的连接参数
port = 3306 # 默认连接端⼝
socket = /home/mysql/3306/tmp/mysql.sock # ⽤于本地连接的socket套接字,mysqld守护进程⽣成了这个⽂件
[mysqld]
# 服务端基本设置
# 基础设置
server-id = 1 # Mysql服务的唯⼀编号 每个mysql服务Id需唯⼀
port = 3306 # MySQL监听端⼝
basedir = /usr/local/mysql # MySQL安装根⽬录
datadir = /home/mysql/3306/data # MySQL数据⽂件所在位置
tmpdir = /home/mysql/3306/tmp # 临时⽬录,⽐如load data infile会⽤到
socket = /home/mysql/3306/tmp/mysql.sock # 为MySQL客户端程序和服务器之间的本地通讯指定⼀个套接字⽂件
pid-file = /home/mysql/3306/log/mysql.pid # pid⽂件所在⽬录
skip_name_resolve = 1 # 只能⽤IP地址检查客户端的登录,不⽤主机名
character-set-server = utf8mb4 # 数据库默认字符集,主流字符集⽀持⼀些特殊表情符号(特殊表情符占⽤4个字节)
transaction_isolation = READ-COMMITTED # 事务隔离级别,默认为可重复读,MySQL默认可重复读级别
collation-server = utf8mb4_general_ci # 数据库字符集对应⼀些排序等规则,注意要和character-set-server对应
init_connect='SET NAMES utf8mb4' # 设置client连接mysql时的字符集,防⽌乱码
lower_case_table_names = 1 # 是否对sql语句⼤⼩写敏感,1表示不敏感
max_connections = 400 # 最⼤连接数
max_connect_errors = 1000 # 最⼤错误连接数
explicit_defaults_for_timestamp = true # TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
max_allowed_packet = 128M # SQL数据包发送的⼤⼩,如果有BLOB对象建议修改成1G
interactive_timeout = 1800 # MySQL连接闲置超过⼀定时间后(单位:秒)将会被强⾏关闭
wait_timeout = 1800 # MySQL默认的wait_timeout值为8个⼩时, interactive_timeout参数需要同时配置才能⽣效
tmp_table_size = 16M # 内部内存临时表的最⼤值 ,设置成128M;⽐如⼤数据量的group by ,order by时可能⽤到临时表;超过了这个值将写⼊磁盘,系统
IO压⼒增⼤
max_heap_table_size = 128M # 定义了⽤户可以创建的内存表
(memory table)的⼤⼩
query_cache_size = 0 # 禁⽤mysql的缓存查询结果集功能;后期根据业务情况测试决定是否开启;⼤部分情况下关闭下⾯两项
query_cache_type = 0
# ⽤户进程分配到的内存设置,每个session将会分配参数设置的内存⼤⼩
read_buffer_size = 2M # MySQL读⼊缓冲区⼤⼩。对表进⾏顺序扫描的请求将分配⼀个读⼊缓冲区,MySQL会为它分配⼀段内存缓冲区。
read_rnd_buffer_size = 8M # MySQL的随机读缓冲区⼤⼩
sort_buffer_size = 8M # MySQL执⾏排序使⽤的缓冲⼤⼩
binlog_cache_size = 1M # ⼀个事务,在没有提交的时候,产⽣的⽇志,记录到Cache中;等到事务提交需要提交的时候,则把⽇志持久化到磁盘。默认binlog_cache_size⼤⼩32K
back_log = 130 # 在MySQL暂时停⽌响应新请求之前的短时间内多少个请求可以被存在堆栈中;官⽅建议back_log = 50 + (max_connections / 5),封顶数为900
# ⽇志设置
log_error = /home/mysql/3306/log/error.log # 数据库错误⽇志⽂件
slow_query_log = 1 # 慢查询sql⽇志设置
long_query_time = 1 # 慢查询时间;超过1秒则为慢查询
slow_query_log_file = /home/mysql/3306/log/slow.log # 慢查询⽇志⽂件
log_queries_not_using_indexes = 1 # 检查未使⽤到索引的sql
log_throttle_queries_not_using_indexes = 5 # ⽤来表示每分钟允许记录到slowlog的且未使⽤索引的SQL语句次数。该值默认为0,表示没有限制
min_examined_row_limit = 100 # 检索的⾏数必须达到此值才可被记为慢查询,查询检查返回少于该参数指定⾏的SQL不被记录到慢查询⽇志
expire_logs_days = 5 # MySQL binlog⽇志⽂件保存的过期时间,过期后⾃动删除
# 主从复制设置
log-bin = mysql-bin # 开启mysql binlog功能
binlog_format = ROW # binlog记录内容的⽅式,记录被操作的每⼀⾏
binlog_row_image = minimal # 对于binlog_format = ROW模式时,减少记录⽇志的内容,只记录受影响的列
# Innodb设置
innodb_open_files = 500 # 限制Innodb能打开的表的数据,如果库⾥的表特别多的情况,请增加这个。这个值默认是300
innodb_buffer_pool_size = 64M # InnoDB使⽤⼀个缓冲池来保存索引和原始数据,⼀般设置物理存储的60% ~ 70%;这⾥你设置越⼤,你在存取表⾥⾯数据时所需要的磁盘I/O越少
innodb_log_buffer_size = 2M # 此参数确定写⽇志⽂件所⽤的内存⼤⼩,以M为单位。缓冲区更⼤能提⾼性能,但意外的故障将会丢失数据。MySQL开发⼈员建议设置为1-8M之间
innodb_flush_method = O_DIRECT # O_DIRECT减少操作系统级别VFS的缓存和Innodb本身的buffer缓存之间的冲突
innodb_write_io_threads = 4 # CPU多核处理能⼒设置,根据读,写⽐例进⾏调整
innodb_read_io_threads = 4
innodb_lock_wait_timeout = 120 # InnoDB事务在被回滚之前可以等待⼀个锁定的超时秒数。InnoDB在它⾃⼰的锁定表中⾃动检测事务死锁并且回滚事务。InnoDB⽤
LOCK TABLES语句注意到锁定设置。默认值是50秒
innodb_log_file_size = 32M # 此参数确定数据⽇志⽂件的⼤⼩,更⼤的设置可以提⾼性能,但也会增加恢复故障数据库所需的时间
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值