Centos 安装 mysql 5.7 下载mysql yum包 安转软件源 安装mysql服务端 启动mysql服务 检查mysql运行状态 修改临时密码 登录并修改密码 授权其他机器登录 日志配置 强行修改密码

wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

安转软件源

xxx.rpm是刚刚下载的yum包

sudo rpm -Uvh xxx.rpm

安装mysql服务端

yum install  -y  mysql-community-server

启动mysql服务

service mysqld start

(重启是restart,完全弄好MySQL后最好添加lower_case_table_names=1到[mysqld]下面一行然后重启MySQL,这是为了和windows兼容,还有就是在[mysql]下面一行加入default-character-set=utf8)

systemctl start mysqld.service(这个是上面步骤执行后自动输出的,我这边的全称是:Redirecting to /bin/systemctl start  mysqld.service)
然后回到[.....]#

检查mysql运行状态

service mysqld status
systemctl status mysqld.service(也是系统自动输出的,我这边全称是:Redirecting to /bin/systemctl status  mysqld.service)
然后会输出一大段关于MySQL状态的信息:

修改临时密码

Mysql5.7默认安装之后root是有密码的。

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码

grep 'temporary password' /var/log/mysqld.log
(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)

登录并修改密码

mysql -uroot -p
(这是一个MySQL的以密码登录root用户的命令)

进入mysql命令行之后:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';

如果密码设置太简单出现以下的提示:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

必须修改两个全局参数:
首先,修改validate_password_policy参数的值:set global validate_password_policy=0;
再修改密码的长度:set global validate_password_length=1;

再次执行修改密码就可以了

授权其他机器登录

进入mysql命令行

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH  PRIVILEGES;

日志配置

在mysql配置文件(/etc/my.cnf)中写入:
general_log=1
general_log_file=/usr/local/mysql/mysql-5.7.22/log/general.log
slow_query_log=1
slow_query_log_file=/usr/local/mysql/mysql-5.7.22/log/slowqueries.log
long_query_time=5
log_output=’FILE,TABLE’
以上配置功能为:
general_log=1 开启通用日志
general_log_file=/usr/local/mysql/mysql-5.7.22/log/general.log 通用日志地址
slow_query_log=1 开启慢查询日志
slow_query_log_file=/usr/local/mysql/mysql-5.7.22/log/slowqueries.log 慢查询日志地址
long_query_time=5 慢查询阀值
log_output=’FILE,TABLE’ 输出方式,FILE表示文件,TABLE表示数据库(可以在mysql库中看到日志),可以同时使用,方法如上,也可单独使用比如log_output=’FILE’。输出到文件比输出到数据库效率高。

注意:mysql不会主动去创建日志文件,所以需要手动添加,添加完成后赋予所有用户可读可写权限,chmod 777 log文件,否则会报premission denied。

修改完成后重启mysql:service mysql restart

强行修改密码

systemctl stop mysqld
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mysqld
mysql -u root

UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword') WHERE User = 'root' AND Host = 'localhost';

注:如果显示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明你的密码不符合安全要求,

FLUSH PRIVILEGES;
quit;