下载Mysql服务端
sudo apt install mysql-server
创建Mysql用户
1.管理员用户登录
sudo mysql;
2.查看密码强度限制(创建用户之前需要修改密码强度限制,否则密码强度可能不通过)
SHOW VARIABLES LIKE 'validate_password%';
3.更改密码强度限制为LOW(这个修改只是临时的,重启Mysql服务端后会失效)
SET GLOBAL validate_password_policy = LOW;
SET GLOBAL validate_password.policy = LOW;
4.创建用户(自定义用户名和密码)
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
5.修改用户密码
ALTER USER 'username'@'localhost' IDENTIFIED BY '新密码';
6.更改用户权限(让其他ip访问服务端必须做这一步)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
7.刷新权限(修改完权限之后必须要刷新权限,否则不生效)
FLUSH PRIVILEGES;
8.退出
exit
让其他ip可以远程连接Mysql
1.配置mysqld.cnf文件
cd /etc/mysql/mysql.conf.d
sudo vim mysqld.cnf
将bind-address改为0.0.0.0
以下内容若配置文件里面没有可以手动添加。
2.禁用DNS主机名查找,更改以后请求响应快了一半
skip_name_resolve = 1
3.更改mysql最大允许的并发连接数
/*
设置 MySQL 实例最大允许的并发连接数。具体来说,它决定了 MySQL 服务器能够同时处理的客户端连接数的上限。
例如,如果将 max_connections 设置为 500,则 MySQL 服务器一次最多只能处理 500 个客户端连接。
如果超过这个数目,新的连接请求将被拒绝。需要注意的是,max_connections 的值不应设置得过高,
否则会占用过多的系统资源,导致性能下降或服务器宕机等问题。
可以使用 ==> SHOW VARIABLES LIKE 'max_connections'; <== 查询 MySQL 当前 max_connections 的设置值:
8核16G的Linux系统上,一般建议将 max_connections 的值设置为500 - 600 左右。
*/
max_connections=500
4.设置最大连接错误次数,防止dos攻击
# 某台 host 连接错误 次数等于 max_connect_errors(默认10),再次尝试时被屏蔽。
# 可有效防止 dos攻击
max_connect_errors = 20
5.事务配置
# 数据库事务隔离级别
# 1. READ-UNCOMMITTED(读取未提交内容)
# 2. READ-COMMITTED(读取提交内容)
# 3. REPEATABLE-READ(可重读) ==> 默认 <==
# 4. SERIERLIZED(可串行化)
transaction_isolation = READ-COMMITTED
6.日志配置
# 日志自动过期清理天数
expire_logs_days = 90
# 错误日志位置
log_error = /var/log/mysql/error.log
# 是否开启 慢查询 日志收集
slow_query_log = 1
# 慢查询日志位置
slow_query_log_file = /var/log/mysql/mysql-slow.log
# 设置记录慢查询超时时间
long_query_time = 2
#最大日志大小
max_binlog_size = 10M
7.密码认证方式
# 密码认证方式
# mysql8 默认的是caching_sha2_password, 老版的默认是 mysql_native_password,使用老版认证方式可以兼容老的mysql客户端
default_authentication_plugin=mysql_native_password
8.重启mysql
sudo systemctl restart mysql