本次需求是在Linux下通过yum安装MySQL,安装的版本为MySQL 5.7,官网中是最新版本8.0,但是在最新版本的yum源中也包含了旧版本支持,只需要在安装后在配置文件中启用 5.7 的安装即可。
1、首先下载rpm版本的安装包并安装
(1)最新安装源地址
https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
(2)在linux下使用wget获取安装源
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm --no-check-certificate
(3)安装mysql
yum localinstall mysql80-community-release-el7-3.noarch.rpm
注:通过
yum源
安装mysql源,可以帮助我们解决本地rpm包的依赖问题。
(4)验证是否安装成功
yum repolist all | grep mysql
2、修改启用版本为5.7
从上面的图片,我们可以看到,默认是MySQL 8.0可用,我们若想安装MySQL 5.7,则需启用5.7。接下来通过直接修改配置文件来设置启用。
注:配置文件:/etc/yum.repos.d/mysql-community.repo
(1)验证配置
3、安装MySQL服务器
yum install mysql-community-server
mysql5.6是密码为空直接进入数据库的,但是mysql5.7就需要初始密码,获取的密码是加密后的,所以需要破解MySQL密码
4、修改MySQL密码
(1)编辑MySQL配置文件(my.cnf)
在该文件中加入 skip-grant-tables
(2)启动MySQL服务
systemctl start mysqld
5、进入修改密码
注:此时不需要密码便可进入数据库管理界面
如果你想要设置一个简单的测试密码的话,比如设置为123456,会提示这个错误,报错的意思就是你的密码不符合要求
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
首先:update mysql.user set authentication_string=password('root') where user='root' ;并删除掉配置文件中加入的 skip-grant-tables,重启服务
这个其实与validate_password_policy的值有关:
- set global validate_password_policy=0;
- mysql> set global validate_password_length=1; #validate_password_length(密码长度)参数默认为8,我们修改为1
(1)随后再修改密码
alter user 'root'@'localhost' identified by '123456';
(2)刷新权限
flush privileges;
6、收尾
(1)重启MySQL服务
systemctl restart mysqld
(2)远端连接支持
GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
===================================================================================================================================
NOTE:
1、MySQL(Linux)如何导入sql文件到对应的数据库
法1:进入到对应的数据库下,使用source命令
命令格式:source SQL文件全路径
法2:mysql -u用户名 -p密码 数据库名 < XXX.sql
2、导出数据库用mysqldump命令(注意:先cd到mysql的运行路径下,再执行一下命令):
(1)导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
mysqldump -uroot -p dbname > dbname .sql,敲回车后会提示输入密码(2)只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
mysqldump -uroot -p -d dbname > dbname .sql
3、MySQL如何配置远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;