离线安装mysql5.7教程转发链接:
2)查询并卸载系统⾃带的Mariadb
rpm -qa | grep mariadb
rpm -e --nodeps ⽂件名
3)安装实施
建⽴⽤户,为了⽅便数据库管理,对于安装的MySQL数据库,⽣产上我们都会建⽴⼀个mysql⽤户和mysql⽤户组:# 添加mysql⽤户组
groupadd mysql
# 添加mysql⽤户
useradd -g mysql mysql -d /home/mysql
# 修改mysql⽤户的登陆密码
passwd mysql
4)创建临时⽬录、数据⽬录和⽇志⽬录
# 添加mysql⽤户组
groupadd mysql
# 添加mysql⽤户
呃逆嗳气怎样调理useradd -g mysql mysql -d /home/mysql
# 修改mysql⽤户的登陆密码
passwd mysql
5)上传⾄服务器
上传 mysql-5.7.21-linux-glibc2.12-x86_64.tar 安装包到 /usr/local ⽬录下
# 解压缩
tar -xvf mysql-5.7.30-linux-glibc2.12-x86_64.tar
generic host process for win32# 会得到⼀个mysql-5.7.21-linux-glibc2.12-x86_⽂件,再解压缩
tar -zxvf mysql-5.7.30-linux-glibc2.12-x86_
# 建⽴软链接,便于以后版本升级
ln -s mysql-5.7.30-linux-glibc2.12-x86_64 mysql
# 修改mysql⽂件夹下所有⽂件的⽤户和⽤户组
chown -R mysql:mysql mysql/
6)创建配置⽂件
# 创建配置⽂件
  cd /etc
# 在myf⽂件中添加对应的配置项,⽂章末尾会提供⼀个默认的 myf 配置【然后填⼊下⾯配置】
  vi myf
[client] # 客户端设置,即客户端默认的连接参数
port =3306 # 默认连接端⼝
socket =/home/mysql/3306/tmp/mysql.sock # ⽤于本地连接的socket套接字,mysqld守护进程⽣成了这个⽂件
[mysqld] # 服务端基本设置
mysql安装教程菜鸟课程# 基础设置
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会⽤到
vip源码论坛
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 # ⽤来表⽰每分钟允许记录到slow log的且未使⽤索引的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缓存之间的冲突
java培训班出来不到工作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 # 此参数确定数据⽇志⽂件的⼤⼩,更⼤的设置可以提⾼性能,但也会增加恢复故障数据库所需的时间
7)安装数据库
cd /usr/local/mysql/bin
# 初始化数据库,并指定启动mysql的⽤户
./mysqld --initialize --user=mysql
这⾥最好指定启动mysql的⽤户名,否则就会在启动MySQL时出现权限不⾜的问题
随机密码
安装完成后,在myf中配置的datadir⽬录下⽣成⼀个 /home/mysql/3306/log/error.log ⽂件,⾥⾯记录了root⽤户的随机密码。
8)设置开机⾃启动服务
# 复制启动脚本到资源⽬录
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# 增加mysqld服务控制脚本执⾏权限
chmod +x /etc/rc.d/init.d/mysqld
# 将mysqld服务加⼊到系统服务
chkconfig --add mysqld
# 检查mysqld服务是否已经⽣效
chkconfig --list mysqld
# 切换⾄mysql⽤户,启动mysql
service mysqld start
9)配置环境变量
为了更好的操作mysql,配置环境变量
# 切换⾄mysql⽤户
su - mysql
# 修改配置⽂件,增加 export PATH=$PATH:/usr/local/mysql/bin
vi .bash_profile
# ⽴即⽣效
source .bash_profile
⽅式⼆:也可以直接使⽤ root ⽤户进⾏操作数据库权限
  vim /etc/profile 进⼊该⽂件加⼊如下配置:
    # mysql config
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile 即可⽣效,使⽤ root ⽤户 mysql -uroot -proot 进⾏登录即可
10)登陆,修改密码
# 登陆mysql网上的数据恢复是真的吗
mysql -u root -p
# 修改root⽤户密码
set password for root@localhost=password("root");
设置允许所有IP访问
GRANT ALL ON*.*to root@'%' IDENTIFIED BY'root';
FLUSH PRIVILEGES;
11)禁⽤firewalld
systemctl mask firewalld
systemctl stop firewalld

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。