mysql5.7.22的安裝包下載地址:
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),高邑網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:高邑等地區(qū)。高邑做網(wǎng)站價(jià)格咨詢:18982081108https://dev.mysql.com/downloads/mysql/5.7.html#downloads
此處根據(jù)自己實(shí)際環(huán)境進(jìn)行選擇,本文選擇的是通用的tar包來進(jìn)行安裝。
vi /etc/selinux/config
確認(rèn) SELINUX=disabled ,如果不是,請將該參數(shù)改為 disabled 并保存后重新啟動操作系統(tǒng)
[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
默認(rèn)是cfq模式,其中命令的sda是當(dāng)前系統(tǒng)的磁盤符,如果有多個磁盤也都查詢
在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分區(qū)是有著很大的聯(lián)系的。swappiness=0的時候表示大限度使用物理內(nèi)存,然后才是 swap空間,swappiness=100的時候表示積極的使用swap分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時的搬運(yùn)到swap空間里面
建議:如果內(nèi)存足夠大,而且服務(wù)器上面也只運(yùn)行了該mysql數(shù)據(jù)庫,則可以設(shè)置該值偏小。
默認(rèn)swappiness是60的
[root@linux6 ~]# cat /proc/sys/vm/swappiness
60
如果要修改,則編輯/etc/sysctl.conf,加入vm.swappiness = 60就可以
修改完成了,執(zhí)行
[root@linux6 ~]# sysctl –p
使參數(shù)生效
推薦使用xfs文件系統(tǒng)
修改limit.conf增加配置
[root@linux6 ios]# cat /etc/security/limits.conf
推薦在mysql啟動前使用參數(shù)來關(guān)閉
例如
numactl –interleave=all /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &
關(guān)于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目錄授權(quán)
[root@linux6 local]# chown mysql.mysql -R mysql
[root@linux6 Mysql5.7.22]# mkdir -p /data/mysql
[root@linux6 Mysql5.7.22]#
并且賦予mysql的權(quán)限
[root@linux6 Mysql5.7.22]# chown -R mysql.mysql /data/mysql
[root@linux6 Mysql5.7.22]#
此處可以根據(jù)實(shí)際的環(huán)境進(jìn)行相關(guān)的配置
[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
此處采用了參數(shù) –-initialize,表示會生成一個臨時的數(shù)據(jù)庫初始密碼,記錄在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的狀態(tài)
數(shù)據(jù)庫啟動成功之后,進(jìn)入數(shù)據(jù)庫的初始化密碼會在/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(
根據(jù)上面步驟獲取到的初始化密碼,進(jìn)入數(shù)據(jù)庫修改密碼
[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日志,發(fā)現(xiàn)如下報(bào)錯:
查詢數(shù)據(jù)文件目錄/data/mysql
確實(shí)沒有生成mysql實(shí)例的數(shù)據(jù)文件。
定位問題應(yīng)該是初始化有問題,后面查詢了初始化命令:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql –initialize
其中的initialize前面只有一個橫桿,導(dǎo)致了這個問題。