1、下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 如果报错wget无法识别,执行 yum install wget 先安装wget

2、安装mysql源 yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、检查mysql源是否安装成功,正常是几行橙色的mysql开头的字样 yum repolist enabled | grep "mysql.-community."

4、安装MySQL yum install mysql-community-server

5、启动MySQL服务 systemctl start mysqld

6、查看MySQL的启动状态,正常会有绿色runing标识 systemctl status mysqld

7、开机启动 systemctl enable mysqld systemctl daemon-reload

8、修改root本地登录密码 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

查看密码 grep 'temporary password' /var/log/mysqld.log

登录mysql

mysql -uroot -p密码

重新设置密码 update user set password=password('你的密码') where user='root' and host='localhost'; 这一步可能出现的问题: 特别注意的大坑:不是所有版本的mysql表中 密码字段 都叫password,也有的是authentication_string,这个在配置免密登录后在user表查看,顺便找到root行数据,看password_expired字段Y还是N,若是Y,改成N,否则会提示密码过期。Host字段一般是localhost,代表只允许本机登录,可以修改为%,意思是任何地方都能登录。 问题1:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 问题1 解决方案:配置免密登录 修改my.conf配置文件 vim /etc/my.conf 在任意位置添加如下参数,配置免密码登录 skip-grant-tables 保存退出后重启mysql systemctl restart mysql; 重新登陆MySQL 直接在窗口出入mysql后回车即可登录了,等配置都好了,注释掉这一行,重启MySQL即可。

问题2、提示密码过期 配置完免密登录,找到root行数据,看password_expired字段Y还是N,若是Y,改成N

问题3、ERROR 1819 (HY000): Your password does not satisfy the current policy requirements mysql5.7默认安装了密码安全检查插件(validate_password), 默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。 在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件

validate_password_policy=0 如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off 重新启动mysql服务使配置生效:

重启mysql服务 systemctl restart mysqld

6、添加远程登录用户 默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户: GRANT ALL PRIVILEGES ON . TO 'roottest'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

7、配置默认编码为utf8 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示: [mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

8、修改端口号、开放端口 vi /etc/my.cnf 添加port=3308 重新启动mysql服务使配置生效:

systemctl restart mysqld

设置远程端口

firewall-cmd --zone=public --add-port=3308/tcp --permanent

success

生效修改

firewall-cmd --reload

success 默认配置文件路径: 配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid