mysql 下载
https://blog.csdn.net/qq_22338401/article/details/88171031
https://downloads.mysql.com/archives/community/
要选这个版本下载:Compressed TAR Archive
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/servers/mysql
cd /usr/local/servers/
/usr/local/servers/mysql/bin/mysqld --initialize --user=web --basedir=/usr/local/servers/mysql --datadir=/usr/local/servers/mysql/data #一定要用这个,把当前mysql使用用户也改用web用户,
mysql.cnf
[mysqld]
user = web #这个要根据当前建立的用户组要设置,要不然reboot重启会出异常,被坑,这个对应上面的
max_allowed_packet=250M #大的插入和更新会被限制
max_connections = 6000 #mysql最大连接数
#mysqlx_max_connections=6000 #mysql8新最大连接数(不知道有什么用)
open_files_limit=60000 #控制文件打开数
#[mysqld]
binlog_format= MIXED #binlog日志格式,mysql默认采用statement,建议使用mixed
log-bin=mysql-bin #binlog日志文件:/var/lib/mysql/mysql-bin 不指定默认这个路径
server-id=1
port = 65534 #更改为您想要的端口号
log-error=/logs/mysqld.log #开启必须配置好: docker exec -ti mysql57 /bin/bash | chown -R mysql:mysql /logs/mysqld.log | chown -R 644 /logs/mysqld.log
vi /home/data/docker/web/mysql/conf/mysql.cnf 没有就要生成
复制16的: /usr/local/servers/mysql/my.cnf 与 /usr/local/servers/mysql/support-files/mysql.server
#注意这个地方,最容易漏了改了
conf=/usr/local/servers/mysql/my.cnf
cp /usr/local/servers/mysql/support-files/mysql.server /usr/local/servers/mysql/mysqld
记得要查一下删除旧的my.cnf,要不然起动失败
find / -name my.cnf
rm -rf /etc/my.cnf
如果你需要空密码进入(可选):
在[mysqld]下添加skip-grant-tables
/usr/local/servers/mysql/bin/mysql -uroot
//这个好象没什么用
update mysql.user set authentication_string=password('123456') where user='root';
flush privileges;
开启远程
/usr/local/servers/mysql/bin/mysql -uroot
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;
再修改(这个改成过了才有用)
/usr/local/servers/mysql/bin/mysql -u root -p
SET PASSWORD = PASSWORD('123456');
flush privileges;
调整mysql最大链接数(可选,参考):
1.所有进程打开的文件描述符数不能超过sudo cat /proc/sys/fs/file-max
sudo vi /etc/sysctl.conf
fs.file-max = 2000000
sysctl -p 然后执行命令,使修改配置立即生效
2.单个进程打开的文件描述符数不能超过用户 ulimit中的nofile的soft limi
sudo vi /etc/security/limits.conf
添加:
ulimit 值超出允许范围导致无法登陆操作系统(是在新添加的管理员上进行设置,不能用*,如果这个账号登陆不进来可以用其它账号),可以用(ulimit -n 999999这个是临时设置), 自己手动输值来测试一下是不是对的,用ulimit -u来查看当前配饰 用法:https://www.cnblogs.com/taiguyiba/p/7868894.html
web hard nofile 655350 #针对web用户可打开的文件描述符的最大数(超过会报错);
web soft nofile 655350 #针对web用户可打开的文件描述符的最大数(超过会警告);
web soft nproc 655350 #用户创建的进程数的限制
web hard nproc 655350 #用户创建的进程数的限制
注意:这里要重新启动linux,要不然没有效果.被坑得很惨: sudo reboot
3.nofile的soft limit不能超过其hard limit
4.nofile的hard limt 不能超过 /proc/sys/fs/nr_open
说明: https://blog.csdn.net/sunny05296/article/details/54952009 (设置)
https://blog.csdn.net/genzld/article/details/86564821 (说明)
5、然后就可以在my.cnf中修改较大值的max_connections了
max_allowed_packet=250M #大的插入和更新会被限制
max_connections = 6000 #mysql最大连接数
open_files_limit=60000 #控制文件打开数
查看可用:https://blog.csdn.net/yoyofu007/article/details/100032969
show variables like '%open%';
show variables like '%max_connections%';
6、查看连接数:show status like 'Threads%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 58 |
| Threads_connected | 57 | ###这个数值指的是打开的连接数
| Threads_created | 3676 |
| Threads_running | 4 | ###代表当前并发数
+-------------------+-------+
docker 方式:http://www.diyyq.com/kaifahuanjing/4.html
发表评论 取消回复