Loading... ## 一、安装YUM Repo ### 1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。 `下载命令:` ``` wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm ``` ### 2、然后进行repo的安装: <pre class="mac_light mac_pre box-shadow-wrap-lg"><br class="Apple-interchange-newline"/></pre> ``` rpm -ivh mysql57-community-release-el7-9.noarch.rpm ``` `执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo` ``` cd / #进入根目录 cd /etc/yum.repos.d #进入yum.repos.d 目录 ``` ## 二、使用yum命令即可完成安装 `注意:必须进入到 /etc/yum.repos.d/目录后再执行以下脚本` ### 1、安装命令: ``` yum install mysql-server ``` ### 2、启动msyql: ``` systemctl start mysqld #启动MySQL ``` ### 3、获取安装时的临时密码(在第一次登录时就是用这个密码): ``` grep 'temporary password' /var/log/mysqld.log ``` ``` #返回结果 :后为临时密码, #2020-02-26T16:12:38.010513Z 1 [Note] A temporary password is generated for root@localhost: 7dhmt!ba4%Wr ``` ### 4、倘若没有获取临时密码,则 #### 4.1、删除原来安装过的mysql残留的数据 ``` rm -rf /var/lib/mysql #删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这) ``` #### 4.2.重新启动启动mysql ``` systemctl restart mysqld #重新启动MySQL grep 'temporary password' /var/log/mysqld.log #重新获取临时密码 ``` ## 三、登录mysql: ### 1、登陆 ``` mysql -u root -p ``` 然后输入密码(刚刚获取的临时密码),此时输入任何字符都不会显示在ssh上,输入完毕后回车出现以下文字即为登陆成功。 ``` Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.29 Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW VARIABLES LIKE 'validate_password%'; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> set global validate_password_policy=LOW; Query OK, 0 rows affected (0.00 sec) mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin980921'; Query OK, 0 rows affected (0.00 sec) mysql> ``` ### 2、登录成功后修改密码 ``` ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin123456'; #设置的密码为 admin123456 ``` 注意:此时设置密码可能会进行密码强度校验(密码设置时必须包含大小写字母、特殊符号、数字,并且长度大于8位) 如不满足以上条件则会报错,如下图: 密码策略问题异常信息: ``` ERROR 1819 (HY000): Your password does not satisfy the current policy requirements ``` ### 3、解决办法: #### 3.1、查看 mysql 初始的密码策略, ``` SHOW VARIABLES LIKE 'validate_password%'; ``` #### 3.2、首先需要设置密码的验证强度等级,设置 validate\_password\_policy 的全局参数为 LOW 即可, ``` set global validate_password_policy=LOW; ``` #### 3.3、当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate\_password\_length 的全局参数为 6 即可, ``` set global validate_password_length=6; ``` #### 3.4、现在可以为 mysql 设置简单密码了,只要满足六位的长度即可, ``` ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ``` 可以看到修改成功,表示密码策略修改成功了!!! ## 四、开启远程控制(虚拟机Linux 本机连接不要开启) MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了,Navicat也无法连接! 1、连接服务器: ``` mysql -u root -p ``` 2、看当前所有数据库: ``` show databases; ``` 3、进入mysql数据库: ``` use mysql; ``` 4、查看mysql数据库中所有的表: ``` show tables; ``` 5、查看user表中的数据: ``` select Host, User,Password from user; # 这一步可能返回 :Unknown column 'Password' in 'field list' 可以无视 进行下一步 ``` 6、修改user表中的Host: ``` update user set Host='%' where User='root'; # 说明: % 代表任意的客户端,可替换成具体IP地址。 ``` 7、最后刷新一下:flush privileges; ## 六、其他配置 ### 1、设置安全选项: ``` mysql_secure_installation ``` ### 2、关闭MySQL ``` systemctl stop mysqld ``` ### 3、重启MySQL ``` systemctl restart mysqld ``` ### 4、查看MySQL运行状态 ``` systemctl status mysqld ``` ### 5、设置开机启动 ``` systemctl enable mysqld ``` ### 6、关闭开机启动 ``` systemctl disable mysqld ``` ### 7、配置默认编码为utf8: ``` vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8' ``` 其他默认配置文件路径: 配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid ### 8、查看版本 ``` select version(); ``` 正文到此结束 本文作者:苏洋 本文链接:https://www.yyb03.cn/archives/44/ 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。 最后修改:2024 年 09 月 26 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏