202
技術社區[雲棲]
【MySQL基礎】MySQL安裝第一彈-MySQL5.7安裝
MySQL安裝第一彈-MySQL5.7安裝
一.操作係統選擇
Centos/RHEL/ORACLE LIUNX 5.X/6.X/7.X x86_64
https://www.mysql.com/support/supportedplatforms/database.html MySQL
二.操作係統參數調整
2.1 selinux
[root@localhost ~]# cat /etc/selinux/config
SELINUX=disabled
#
[root@localhost ~]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7861
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7861
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
#open files
#max user processes 每個用戶最大processes數量
vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
[root@localhost ~]# ulimit -a
open files (-n) 65535
max user processes (-u) 65535
#每個操作係統修改方式可能不一樣,參考一個操作係統的官方文檔或google一下
2.3 io
iodeadline
echo “deadline” > /sys/block/sdb/queue/scheduler
sdb sda 或者sdc。 /data所在的設備名稱
B) 需要加入到 /etc/rc.local 中開啟自動加載
2.4係統內核參數修改
vm.swappiness =5 #控製linux物理RAM內存進行SWAP頁交換的相對權重
vm.dirty_ratio =5 #髒頁占整個內存的比例,開始刷新
vm.dirty_background_ratio = 10 #髒頁占程序的百分比 ,開始刷新
2.5
NUMA不適用於跑數據庫的場景。它本意是為了提高內存利用率,但實際效果不好,反而可能導致一個CPU的內存尚有剩餘,但另一個不夠用,發生SWAP的問題,因此建議直接關閉或者修改NUMA的調度機製。
a) 修改/etc/grub.conf,關閉NUMA,重啟後生效
/etc/grub.conf 配置文件,在kernel 那行增加一個配置後重啟生效,例如:
kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/1elevator=deadlinenuma=off rhgb quiet
b) 修改/etc/init.d/mysql 或者mysqld_safe 腳本,設定啟動mysqld進程時的NUMA調度機製,例如:
numactl --interleave=all /usr/local/mysql/bin/mysqld_safe .......
c) BIOS硬件中關閉
#注 a b c 方法中任選其一。
2.6
CPU啟用節能模式後,會節約電量,但也可能帶來CPU性能下降的問題。因此,CPU的最大性能。
Aï¼BIOS硬件中關閉
# 如果不是非核心業務 並且不繁忙的情況下 可以不用調整
三 MySQL環境
3.1
MySQL
#
#/usr/local/mysql #MySQL
#/data/mysql{
#/data/mysql{
a)Â MySQL
useradd mysql -s /sbin/nologin
b) MySQL
c)
[root@localhost local]# ln -s mysql-5.7.19-linux-glibc2.12-x86_64 mysql
d
e
[root@localhost local]# chown mysql:mysql /data/
[root@localhost local]# chown mysql:mysql /data/* -R
[root@localhost local]# chown mysql:mysql /usr/local/mysql
[root@localhost local]# chown mysql:mysql /usr/local/mysql/* -R
f)
yum groupinstall Development Tools
g)
[client]
port = 3306
socket = /tmp/mysql.sock
[mysql]
prompt="\\u@\\h:\\p [\\d]>
#pager="less -i -n -S"
##tee=/home/mysql/query.log
no-auto-rehash
[mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql3306/data
port = 3306
socket = /tmp/mysql.sock
event_scheduler = 0
binlog_format = row
server-id = 63306
log-bin = /data/mysql3306/log/mysql-bin
#一個最基礎的配置文件 ,後續會針對做講解和配置優化
k
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql
h
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
i)密碼
2017-08-31T10:00:15.372625Z 1 [Note] A temporary password is generated for root@localhost: Nw!,dJKwa3)3
#初始化成功後屏幕會輸出密碼,或者errorlog中也會打印
"root@localhost:mysql.sock [(none)]>set password='new_password';
最後更新:2017-09-01 16:02:30