文章目录
优化linux
提示:这里优化的具体含义详见另一篇文章
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config &> /dev/null
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
iptables -F
systemctl stop NetworkManager &> /dev/null
systemctl disable NetworkManager &> /dev/null
提示:以下是基于centos7.4的MySQL5.7实现,实机测试
1.上传MySQL5.7数据包到服务器
提示:本文采取本地上传安装而非yum安装,mysql5.7安装包如下:
https://pan.baidu.com/s/1rYqTsiN7T2kKEOaUqZFTKg
提取码:gg0a
[root@localhost ~]# yum install -y lrzsz unzip vim net-tools
[root@localhost ~]# rz #传输安装包
[root@localhost ~]# unzip mysql5.7.zip #解压安装包
[root@localhost ~]# cd mysql5.7 #进入文件安装目录
2.安装mysql数据库服务
[root@localhost mysql5.7]# cd mysql5.7rpm -e --nodeps mariadb-libs #卸载mariadb-libs数据库包:数据库冲突
[root@localhost mysql5.7]# rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql5.7]# rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql5.7]# rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql5.7]# rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
3.修改配置文件
[root@localhost mysql5.7]# vim /etc/my.cnf #修改配置文件进行优化:增加以下语句到末尾
---------------------------------------
......
skip-name-resolve #跳过连接时域名方向解析
---------------------------------------
4.启动MySQL服务
[root@localhost mysql5.7]# systemctl start mysqld #启动mysqld服务
[root@localhost mysql5.7]# systemctl enable mysqld #设置启动mysqld服务
[root@localhost mysql5.7]# systemctl status mysqld #查看mysqld服务状态
[root@localhost mysql5.7]# netstat -pantul | grep mysqld #查看mysqld服务端口
5.登录并初始化
MySQL5.7之前的版本默认无密码,MySQL5.7版本及之后第一次生成随机密码,且改密码必须更改
[root@localhost mysql5.7]# grep "password" /var/log/mysqld.log
#通过查找日志找到初始随机密码
-- 2021-08-31T08:56:31.807342Z 1 [Note] A temporary password is generated for root@localhost: hybXfcET6d*%
#root@localhost:后面接的就说初始随机密码
[root@localhost mysql5.7]# mysql -uroot -p"hybXfcET6d*%"
#用root用户本地登陆MySQL数据库服务器
mysql>set global validate_password_length=4;
#密码的长度是由validate_password_length决定的,但是可以通过以下命令修改
Query OK, 0 rows affected (0.00 sec)
mysql>set global validate_password_policy=0;
#validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)
Query OK, 0 rows affected (0.00 sec)
mysql>ALTER USER 'root'@'localhost' identified by '123456';
#重置密码为123456
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
#刷新授权表
Query OK, 0 rows affected (0.00 sec)
mysql>quit;
Bye
常见报错
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
原因是因为密码设置的过于简单会报错,MySQL有密码设置的规范,具体是与validate_password_policy的值有关
解决:
mysql>set global validate_password_length=4;
#密码的长度是由validate_password_length决定的,但是可以通过以下命令修改
Query OK, 0 rows affected (0.00 sec)
mysql>set global validate_password_policy=0;
#validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)
Query OK, 0 rows affected (0.00 sec)
ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xB5\xB5\xE9\x9B\xB7’
原因大致是:数据库、表、报错列字段的字符集编码方式报错
alter database TestBase character set utf8;
#修改对应库、表、字段的编码即可