1、检查时区和安全相关设置
date -R
hostname
more /etc/selinux/config
setenforce 0
service iptables stop
chkconfig iptables off
2、调整Linux默认的IO调度算法。
IO对数据库的影响较大,linux默认的IO调度算法为cfq,需要修改为deadline,
如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式。
查看默认的IO算法
dmesg | grep -i scheduler
# dmesg | grep -i scheduler
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
在线动态修改,重启失效。
echo "deadline" > /sys/block/sda/queue/scheduler
修改/etc/grub.conf,永久生效。
修改/etc/grub.conf配置文件,在kernel那行增加一个配置,例如:
elevator=deadline
3、禁用透明大页内存,
vi /boot/grub/grub.conf 添加transparent_hugepage=never
kernel /vmlinuz-2.6.32-300.25.1.el6uek.x86_64 ro root=LABEL=/ transparent_hugepage=never numa=off elevator=deadline
4、禁用numa
numa=off
5、修改参数
vi /etc/security/limits.conf
* soft nproc 16384
* hard nproc 16384
* soft nofile 65536
* hard nofile 65536
6、修改参数
vi /etc/profile
if [ $USER = "root" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
if [ $USER = "mysql" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
7、修改参数
physical mem= 4294967296 4G | 8589934592 8G | 17179869184 16G | 34359738368 32G | 68719476736 64G | 137438953472 128G
shmmax= max size of each singe shared segment (recommend 1/2 mem >= sga )
shmmax= 2147483648 2G | 4294967296 4G | 8589934592 8G | 17179869184 16G | 34359738368 32G | 68719476736 64G
shmall= total size of shared segment (recommend 3/4 mem / pagesize > shmmax)
shmall= 786432 3G | 1572864 6G | 3145728 12G | 6291456 24G | 12582912 48G | 25165824 96G
vi /etc/sysctl.conf
fs.file-max=6815744
kernel.shmmax=17179869184
kernel.shmall=6291456
kernel.shmmni=4096
net.core.wmem_default=87380
net.core.wmem_max=16777216
net.core.rmem_default=87380
net.core.rmem_max=16777216
vm.min_free_kbytes = 524288
要参考Oracle设置
参考文档:
http://www.cnblogs.com/rwxwsblog/p/5785376.html
9、修改参数
#vi /etc/pam.d/login
session required pam_limits.so
10、修改主机名
11、创建mysql组,mysql用户
groupadd -g 600 mysql
useradd -u 600 -m -g mysql mysql -d /home/mysql
12、卸载默认安装的MySQL
linux默认会有一个mysql包,要先卸载
rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
13、安装server和client(不装没有mysql命令)
rpm -ivh MySQL-server-5.6.21-1.el6.x86_64.rpm
rpm -ivh MySQL-client-5.6.21-1.el6.x86_64.rpm
服务启停:
service mysql start|stop
chkconfig mysql off
chkconfig mysql --list
14、创建目录
root用户在根创建/mysql
赋权给mysql用户
mkdir /mysql
chown mysql:mysql /mysql
chmod 775 /mysql
以下开始用mysql用户操作
#su - mysql
$cd /mysql
mkdir -p /mysql/mysqldata/my3307/data
mkdir -p /mysql/mysqldata/my3307/innodb
mkdir -p /mysql/mysqldata/my3307/log-bin
mkdir -p /mysql/mysqldata/my3307/log-relay-bin
15、创建参数文件
制作/mysql/mysqldata/my3307/my3307.cnf文件
以root用户
创建新实例 root用户执行
mysql_install_db --defaults-file=/mysql/mysqldata/my3307/my3307.cnf --user=mysql
如果是5.7
mysql_install_db --defaults-file=/mysql/mysqldata/my3307/my3307.cnf --user=mysql --datadir=/mysql/mysqldata/my3307/data
mysql_install_db已经不推荐使用了
mysqld --defaults-file=/mysql/mysqldata/my3307/my3307.cnf --initialize --user=mysql
默认密码在/root/.mysql_securt里面查看
以mysql启动新实例
mysqld_safe --defaults-file=/mysql/mysqldata/my3307/my3307.cnf &
忘记密码
mysqld_safe --defaults-file=/mysql/mysqldata/my3307/my3307.cnf --skip-grant-tables &
update user set password=PASSWORD('Y@iaciejmysq1') where User='root';
flush privileges;
停止实例
mysqladmin -h127.0.0.1 -P3307 -uroot -p shutdown
本地通过sock文件登录
mysql -h127.0.0.1 -P3307 -uroot -p
Y@iaciejmysq1
给root添加从所有客户端登陆权限
use mysql;
select host,user from user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'Y@iaciejmysq1' with grant option;
可以直接加密码,否则要后面再为root@%设一次
【对于5.7 需要通过如下先修改密码】
SET PASSWORD = PASSWORD('Y@iaciejmysq1');
SET PASSWORD = PASSWORD('some password')
SET PASSWORD FOR user = PASSWORD('some password')
update user set authentication_string=password('Replication') where user='root';
第一个命令是修改当前用户的密码,第二个命令是修改指定用户的密码
删除匿名用户
delete from mysql.user where user='';
MySQL>FLUSH PRIVILEGES;
修改root密码
mysql -uroot --socket=/mysql/mysqldata/my3307/my3307.sock -p
输入初始密码(无)
set password for 'root'@'localhost'=password('y2iaciejmysq1');
set password for 'root'@'145.146.2.%'=password('y2iaciejmysq1');
查找my.cnf加载顺序
mysql --help|grep cnf
【对于5.7 可以通过如下方法设置mysql服务】
ln -s /mysql/mysqldata/my3307/my3307.cnf my.cnf
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/807718/viewspace-2169024/ ,如需转载,请注明出处,否则将追究法律责任。