MySQL多实例安装

mysql启动默认使用my.cnf文件顺序

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

/etc/my.cnf < /etc/mysql/my.cnf < /usr/local/mysql/etc/my.cnf < ~/.my.cnf

后面覆盖前面配置。

innodb_buffer_size 会自动调整为128的倍数

-----------------------------------------------------------------------------------------------

使用strace跟踪mysqld启动,能看到详细调用。

strace -o /tmp/11.log  -ttt /usr/local/mysql/bin/mysqld

......

1529632226.754417 stat("/etc/my.cnf", {st_mode=S_IFREG|0644, st_size=9697, ...}) = 0
1529632226.754491 open("/etc/my.cnf", O_RDONLY) = 3
1529632226.754549 fstat(3, {st_mode=S_IFREG|0644, st_size=9697, ...}) = 0
1529632226.754593 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f249a169000
1529632226.754637 read(3, "[client]\nport = 3306\n"..., 4096) = 4096
1529632226.754745 read(3, "n_load_add ="..., 4096) = 4096
1529632226.754832 read(3, "fer_pool_dump_pct "..., 4096) = 1505
1529632226.754895 read(3, "", 4096) = 0
1529632226.754942 close(3) = 0
1529632226.754982 munmap(0x7f249a169000, 4096) = 0
1529632226.755035 stat("/etc/mysql/my.cnf", 0x7ffe5fac6710) = -1 ENOENT (No such file or directory)
1529632226.755088 stat("/usr/local/mysql/etc/my.cnf", 0x7ffe5fac6710) = -1 ENOENT (No such file or directory)
1529632226.755143 stat("/root/.my.cnf", 0x7ffe5fac6710) = -1 ENOENT (No such file or directory)

------------------------------------------------------------------------------------------------------------------------------

多实例安装

1.配置文件多份。

cp /etc/my.cnf /home/mysql/mysqldata

sed -i 's/3306/3309/g' ./my.cnf            # socket文件记得改

2.初始化

/usr/local/mysql/bin/mysqld --defaults-file=/home/mysql/mysqldata/my.cnf --initialize

3.启动mysql

/usr/local/mysql/bin/mysqld --defaults-file=/home/mysql/mysqldata/my.cnf &

4.修改密码

mysql -S /tmp/mysql3309.sock -p

alter user user() identified by 'root123';

systemctl 管理多实例

--------------------------------------------------------------------------------------------------------------

修改my.cnf 中,能比较好看点

[mysql]

prompt="\\u@\\h:\\p [\\d]>"

Option  Description
\c  A counter that increments for each statement you issue
\D  The full current date
\d The default database
\h The server host
\l The current delimiter (new in 5.1.12)
\m  Minutes of the current time
\n  A newline character
\O  The current month in three-letter format (Jan, Feb, …)
\o  The current month in numeric format
\P  am/pm
\p The current TCP/IP port or socket file
\R  The current time, in 24-hour military time (0–23)
\r  The current time, standard 12-hour time (1–12)
\S  Semicolon
\s  Seconds of the current time
\t  A tab characte

在操作系统上有些参数需要做优化的,拷贝别人的。

网给方面的配置, 要修改/etc/sysctl.conf文件
增加tcp支持的队列数
net.ipv4.tcp_max_syn_backlog = 65535
减少断开连接时 ,资源回收
net.ipv4.tcp_max_tw_buckets = 8000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

打开文件的限制
可以便用ulimit -a目录的刍各位限制,可以修改/etc/security/limits.conf文件 增加以下内容以修改打开文件数量的限制
*soft nofile 65535
*hard nofile 65535
除此之外最好在MySQL服务器上关闭iptables,selinux 等防火墙软件。

猜你喜欢

转载自www.cnblogs.com/emmm233/p/9212777.html
今日推荐