Linux系统安装Mysql 5.7.22
发布时间:2022-03-28 10:53:43 所属栏目:MySql教程 来源:互联网
导读:此处根据自己实际环境进行选择,本文选择的是通用的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前面只有一个横杆,导致了这个问题。 (编辑:92站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |