Linux系统安装Mysql 5.7.22


mysql5.7.22的安装包下载地址:

https://dev.mysql.com/downloads/mysql/5.7.html#downloads

此处根据自己实际环境进行选择,本文选择的是通用的tar包来进行安装。

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

[root@linux6 ios]# cat
/sys/block/sda/queue/scheduler

默认是cfq模式,其中命令的sda是当前系统的磁盘符,如果有多个磁盘也都查询

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

swappiness的值的大小对如何使用swap分区是有着很大的联系的。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,swappiness100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面

建议:如果内存足够大,而且服务器上面也只运行了该mysql数据库,则可以设置该值偏小。

默认swappiness60

[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

推荐在mysql启动前使用参数来关闭

例如

numactl –interleave=all
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &

关于numa,可以参考:

http://cenalulu.github.io/linux/numa/

[root@linux6 Mysql5.7.22]# groupadd mysql

[root@linux6 Mysql5.7.22]# useradd -g mysql
mysql

[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

[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

[root@linux6 Mysql5.7.22]#

此处可以根据实际的环境进行相关的配置

[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@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)]>

查询error.log日志,发现如下报错:

查询数据文件目录/data/mysql

确实没有生成mysql实例的数据文件。

定位问题应该是初始化有问题,后面查询了初始化命令:

./mysqld –defaults-file=/etc/my.cnf
–basedir=/usr/local/mysql –datadir=/data/mysql –user=mysql –initialize

其中的initialize前面只有一个横杆,导致了这个问题。

相关推荐: 重新学习Mysql数据库5:根据MySQL索引原理进行分析与优化

微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。作者黄小斜,专注 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 06/05 17:59
Next 06/05 18:02

相关推荐