您好,登錄后才能下訂單哦!
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空間,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
推薦在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前面只有一個橫桿,導致了這個問題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。