Linux环境下(Centos7) 下安装MySQL 5.7详细教程
一. 前述
1.1 大致步骤:
- 下载并安装MySQL相关的包
- 设置初始密码
- 设置强、弱密码,开启远程访问;
1.2 实战 --> 安装:
- 下载MySQL官方的Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
- 安装MySQL官方的Yum Repository
yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装Mysql服务器
yum -y install mysql-community-server
这步可能会花费一定时间,安装完成后会覆盖掉Centos中默认的Mariadb;
1.3 实战 --> 配置
-
启动Mysql
systemctl start mysqld.service
-
查看mysql运行状态:
systemctl status mysqld.service
- 如图所示:
如果Active的状态值是active(running),是说明启动成功。
- 如图所示:
-
查找密码
grep "password" /var/log/mysqld.log
通过此命令可以 在mysqld.log中找到password相关的数据,然后在其中找到密码。
我们可以直接通过vim /var/log/mysqld.log 然后查看日志查找密码。mysql启动后会随机创建一个密码,放在日志中,所以我们才需要找到这个密码进行临时登录。 -
登录:
mysql -uroot -p
输入后会隔开一行,我们在这里直接输入密码。密码是隐藏的,所以我们输入密码的时候不会有数字显示出来。
-
修改初始密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
这里有个问题,新密码设置的时候如果设置的过于简单会报错 -
解决密码过于简单而报错的问题:
- 执行命令1:
set global validate_password_policy=0;
- 执行命令2:
set global validate_password_length=1;
设置之后就可以设置很简单的密码了。
- 执行命令1:
-
解决安装Yum Repository后每次yum操作后都会自动更新,卸载掉一个文件,执行如下:
yum -y remove mysql57-community-release-el7-10.noarch
-
解决远程远程登录不上的问题;
-
笔者遇到了再记录实战操作。具体可百度:
- 第一步是将mysql的远程访问开启,ip地址注释;
- 第二步是强弱密码的问题。
-
修改密码:
- 修改本地密码:(未验证)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'p@ssw0rd@cdmtc';
- 修改远程访问密码:(已验证)
SET PASSWORD FOR 'root'@'%' = PASSWORD('newpasswdxinmima');
本地和远程访问密码是互相独立的;即修改了本地密码,远程访问还是用以前的密码登录。只有修改了远程访问的密码,远程登录的密码才能修改成功。
- 修改本地密码:(未验证)
-
如果远程访问依旧访问不了,可使用如下方法:
- 放开权限:
- 方法一:
mysql>update mysql.user set host='%' where user='root';
线上环境建议不要开启root用户远程访问,使用下面方法创建一个用户用来远程连接
- 方法二:
mysql>GRANT ALL PRIVILEGES ON *.* TO '这里写账号'@'%' IDENTIFIED BY '这里写密码' WITH GRANT OPTION;
- 方法一:
- 退出客户端:
mysql>exit
- 重启MySQL服务:
systemctl restart mysqld.service
- 放开权限:
-
修改默认编码格式
- 进入配置文件:
vim /etc/my.cnf
- 在底部加入内容:
[mysqld] character-set-server=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8
- 修改完成后按 ESC 然后 按 :wq 保存退出
查看编码格式:mysql> show variables like ‘character%’;