第一步:配置yum源
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/
# 下载mysql源安装包
[root@hedonglin ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# 安装mysql源
[root@hedonglin ~]# yum localinstall mysql80-community-release-el7-1.noarch.rpm -y
# 检查mysql源是否安装成功
[root@hedonglin ~]# yum repolist enabled | grep "mysql.*-community.*"
可以修改vim /etc/yum.repos.d/mysql-community.repo
源,改变默认安装的mysql版本,只需要将想要下载的版本下的enable的值从0改为1,并且将默认版本的enable的值改为0即可,比如这里我需要下载的是mysql5.7,只需要将mysql80对应的enable改为0,将mysql57对应的enable改为1即可。
第二步:安装mysql
[root@hedonglin ~]# yum install mysql-community-server -y
如果网速较慢,建议自行下载rpm包到本地,然后上传到linux服务器进行安装。
第三步:启动mysql服务
[root@hedonglin ~]# systemctl start mysqld
# 查看MySQL的启动状态
[root@hedonglin ~]# systemctl start mysqld
第四步:设置开机启动
[root@hedonglin ~]# systemctl enable mysqld
[root@hedonglin ~]# systemctl daemon-reload
第五步:修改本地root密码
mysql安装完成之后,会在/var/log/mysqld.log中给root生成一个随机密码。找出改密码并进行登陆,
[root@hedonglin ~]# grep 'temporary password' /var/log/mysqld.log
注意:如果有特殊符号需要使用反斜杠进行转义之后才能登陆,如下:。
[root@hedonglin ~]# mysql -uroot -pIshY,tl:x1U>
-bash: 未预期的符号 `newline' 附近有语法错误
我这里有三个特殊符号,逗号,冒号,尖括号,都加了转义之后就能正常登陆了。
使用mysql数据库,并修改密码,出现了如下错误:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决,先修改成满足策略的密码,修改成功后重新登陆并修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qabc123_q';
mysql> quit
[root@hedonglin ~]# mysql -uroot -pQabc123q
重新登陆之后.......
# 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
会报这个错误:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
表示您的密码不符合当前的密码验证的要求
# 切换到mysql数据库并查看密码策略
mysql> use mysql;
mysql> show variables like '%password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
上述参数是默认策略MEDIUM的密码检查规则。
共有以下几种密码策略:
策略 | 检查规则 |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
# 修改默认的最小密码长度和密码策略
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
重新执行修改密码的语句:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
至此,密码修改成功了,接下来就是开启远程访问了。
第六步:开启远程访问
# 执行授权,会默认添加用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
# 刷新权限
mysql> flush privileges;
第七步:防火墙对mysql端口放行
# 启动防火墙
[root@hedonglin ~]# systemctl start firewalld.service
# 对3306端口放行 --permanent表示永久生效
[root@hedonglin ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
# 重载防火墙
[root@hedonglin ~]# firewall-cmd --reload
success
第八步:使用工具远程连接
至此,终于大功告成了,