加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋江门户网 (https://www.ijinjiang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Linux系统安装Mysql 5.7.22

发布时间:2022-03-28 10:49:34 所属栏目:编程 来源:互联网
导读:此处根据自己实际环境进行选择,本文选择的是通用的tar包来进行安装。 安装前环境准备 SElinux要关闭 vi /etc/selinux/config 确认 SELINUX=disabled ,如果不是,请将该参数改为 disabled 并保存后重新启动操作系统 关闭操作系统防火墙 查询当前系统防火墙
       此处根据自己实际环境进行选择,本文选择的是通用的tar包来进行安装。
 
     安装前环境准备
     SElinux要关闭
     vi  /etc/selinux/config
 
      确认 SELINUX=disabled ,如果不是,请将该参数改为 disabled 并保存后重新启动操作系统
  
     关闭操作系统防火墙
     查询当前系统防火墙的状态
     [root@linux6 ios]# service iptables status
  
关闭防火墙服务
[root@linux6 ios]# service iptables stop
  
配置防火墙永久关闭
[root@linux6 ios]# chkconfig --level 2345 iptables off
 
或者
 
[root@linux6 ios]# chkconfig iptables off
  
修改系统的I/O调度为 deadline模式
查询当前系统的调度模式
[root@linux6 ios]# cat /sys/block/sda/queue/scheduler
  
默认是cfq模式,其中命令的sda是当前系统的磁盘符,如果有多个磁盘也都查询
 
修改I/O调度为deadline模式,修改/etc/grub.conf(或者/boot/grub/menu.lst)增加 elevator=deadline,然后重启操作系统
在rhgb quiet之前,添加elevator=deadline
 
        kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=10c712fb-a82a-4afd-9e7a-1fa2475e8091 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline rhgb quiet
  
设置swap分区的配置
swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面
 
建议:如果内存足够大,而且服务器上面也只运行了该mysql数据库,则可以设置该值偏小。
 
默认swappiness是60的
 
[root@linux6 ~]# cat /proc/sys/vm/swappiness
 
60
 
如果要修改,则编辑/etc/sysctl.conf,加入vm.swappiness = 60就可以
 
修改完成了,执行
 
[root@linux6 ~]# sysctl –p
 
使参数生效
 
文件系统的选择
推荐使用xfs文件系统
 
修改操作系统的限制
修改limit.conf增加配置
 
[root@linux6 ios]# cat  /etc/security/limits.conf
  
numa关闭
推荐在mysql启动前使用参数来关闭
 
例如
 
numactl –interleave=all /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
 
关于numa,可以参考:
 
http://cenalulu.github.io/linux/numa/
 
开始安装
创建Mysql用户和组
[root@linux6 Mysql5.7.22]# groupadd mysql
 
[root@linux6 Mysql5.7.22]# useradd -g mysql mysql
 
mysql的安装包放在/usr/local下,并且解压
[root@linux6 ~]# cd /usr/local/
 
[root@linux6 local]# tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
 
给解压的mysql软件包,做软连接
 
[root@linux6 local]# ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql
  
给mysql目录授权
 
[root@linux6 local]# chown mysql.mysql -R mysql
 
创建mysql数据库的数据目录(datadir)
[root@linux6 Mysql5.7.22]# mkdir -p /data/mysql
 
[root@linux6 Mysql5.7.22]#
 
并且赋予mysql的权限
 
[root@linux6 Mysql5.7.22]# chown -R mysql.mysql /data/mysql
  
配置my.cnf文件
此处可以根据实际的环境进行相关的配置
 
初始化数据库
[root@linux6 etc]# cd /usr/local/mysql/bin/
 
[root@linux6 bin]#
 
[root@linux6 bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql –-initialize
 
此处采用了参数 –-initialize,表示会生成一个临时的数据库初始密码,记录在log-error(错误日志)里面。
 
此处是两个横杆—initialize,不是一个横杆。
 
启动数据库
[root@linux6 bin]# pwd
 
/usr/local/mysql/bin
 
[root@linux6 bin]# numactl --interleave=all ./mysqld_safe --defaults-file=/etc/my.cnf &
  
以禁用numa的方式启动mysql
 
查看mysql的状态
  
获取初始数据库密码
数据库启动成功之后,进入数据库的初始化密码会在/data/mysql/error.log中
 
 [root@linux6 mysql]# cat /data/mysql/error.log | grep password
 
2018-06-12T07:43:15.875584Z 1 [Note] A temporary password is generated for root@localhost: !y#Yy,wC&4G(
  
修改数据库root密码
根据上面步骤获取到的初始化密码,进入数据库修改密码
 
[root@linux6 bin]# ./mysql -uroot -p
 
Enter password:
 
Welcome to the MySQL monitor.  Commands end with ; or g.
 
Your MySQL connection id is 4
 
Server version: 5.7.22-log
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
 
affiliates. Other names may be trademarks of their respective
 
owners.
 
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
 
root@db 15:53:  [(none)]> set password = 'mysql';
 
Query OK, 0 rows affected (0.00 sec)
 
root@db 15:53:  [(none)]> flush privileges;
 
Query OK, 0 rows affected (0.01 sec)
 
root@db 15:53:  [(none)]>
 
安装报错集
初始化后,无法启动mysql数据库
查询error.log日志 

查询数据文件目录/data/mysql
 
确实没有生成mysql实例的数据文件。
 
定位问题应该是初始化有问题,后面查询了初始化命令:
 
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql –initialize
 
其中的initialize前面只有一个横杆,导致了这个问题。

(编辑:晋江门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读