CentOS6.5下安装mysql

匿名 (未验证) 提交于 2019-12-02 21:59:42

1.安装介质

http://dev.mysql.com/downloads/mysql/

2.安装过程

2.1主机配置

a)关闭防火墙

service iptables stop

b)禁掉Selinux

vim /etc/selinux/config

#SELINUX=enforcing

#SELINUXTYPE=targeted

SELINUX=disabled

setenforce 0

2.2修改limits.conf

vi /etc/security/limits.conf

mysql soft nproc 16384

mysql hard nproc 16384

mysql soft nofile 65536

mysql hard nofile 65536

mysql soft stack 10240

2.3添加pam_limits.so模块

在文件最下面加入以下内容:

vi /etc/pam.d/login

session required pam_limits.so

2.4配置内核参数

vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 16777216

kernel.shmmax = 68719476736

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.ip_local_port_range = 9000 65500

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies=1

net.ipv4.tcp_fin_timeout = 30

使修改的内核参数生效

sysctl -p

确保当前系统没有mysql相关的包

rpm -aq|grep -i mysql

2.5创建安装目录

查看磁盘的挂载情况

umount /home

mkdir /u01

vi /etc/fstab

修改:

/dev/mapper/VolGroup-lv_home /u01

mount /dev/mapper/VolGroup-lv_home /u01

mkdir /u01/db

2.6创建mysql用户

useradd -u 601 -d /u01/db/mysql -s /bin/bash mysql

uid=601(mysql) gid=601(mysql) groups=601(mysql)

2.7解压安装文件

红色字体的命令是在一台机器上安装完之后,在另外一台机器上直接scp过去的

root@192.168.1.243:/u01/db/mysql/

scp mysql-5.6.29-linux-glibc2.5-x86_64.tar root@192.168.1.243:/u01/db/mysql/

将mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz和MySQL-shared-compat-5.6.33-1.linux_glibc2.5.x86_64.rpm上传至/u01/db/mysql下并解压

gunzip mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz

tar -xvf mysql-5.6.29-linux-glibc2.5-x86_64.tar

ln -s mysql-5.6.29-linux-glibc2.5-x86_64 mysql

2.8配置mysql的环境变量

vi ~/.bash_profile

增加:

PATH=$HOME/mysql/bin:$HOME/mysql/support-files:$PATH

[mysql@localhost ~]$ source ~/.bash_profile

[mysql@localhost ~]$ which mysql

~/mysql/bin/mysql

2.9修改 mysql.server文件

vi ~/mysql/support-files/mysql.server

修改:

basedir=/u01/db/mysql/mysql

datadir=/u01/db/mysql/mydata

ln -s ~/mysql/support-files/mysql.server ~/mysql/bin

cd ~/mysql

scripts/mysql_install_db --basedir=/u01/db/mysql/mysql --datadir=/u01/db/mysql/mydata

cd /u01/db/mysql/mysql/

support-files/mysql.server start

删除测试数据库(test)和匿名用户

/u01/db/mysql/mysql/bin/mysql_secure_installation

第一个命令按enter,之后密码是123456,之后全是y

mysql.server stop

cd $HOME

mkdir conf log_bin logs log_relay scripts sh

vi conf/my.cnf

修改server_id的值,每台机器要设置为唯一值,将下面这段整段复制过去

#GERNERAL

port = 3306

user = mysql

server_id = 4303

character_set_server = utf8

basedir = /u01/db/mysql/mysql

datadir = /u01/db/mysql/mydata

pid-file = /u01/db/mysql/mydata/mysql.pid

lower_case_table_names = 1

replicate-ignore-db=mysql

max_connections = 3000

max_connect_errors = 6000

wait_timeout=31536000

interactive_timeout=31536000

skip-name-resolve

#LOG

log_error = /u01/db/mysql/logs/mysql-error.log

binlog_format = ROW

expire_logs_days = 10

relay_log = /u01/db/mysql/log_relay/relay-bin

relay_log_recovery = 1

long_query_time = 1

slow_query_log_file = /u01/db/mysql/logs/mysql-slow.log

log-slave-updates=true

binlog-ignore-db=mysql

#GTID

enforce-gtid-consistency=true

#DOUBLE 1

sync_binlog = 1

innodb_flush_log_at_trx_commit = 1

#INNODB

default-storage-engine = InnoDB

innodb_buffer_pool_size = 20000M

innodb_log_file_size = 100M

#rpl_semi_sync_master_enabled=ON

#rpl_semi_sync_slave_enabled=ON

#rpl_semi_sync_master_timeout=milliseconds

#rpl_semi_sync_master_timeout = 1000

#rpl_semi_sync_master_trace_level = 32

log_bin_trust_function_creators=1

max_allowed_packet = 36M

group_concat_max_len=102400

tmp_table_size=200M

[mysqladmin]

user=root

password=123456

ln -s conf/my.cnf .my.cnf

mysql.server start

增加root用户远程连接

mysql>

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

通过远程连接测试

mysql -uroot -p -h 192.168.1.249

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!