centOS上安装MySQL5.7

时间:2024-09-16 23:35:20

在centos上安装mysql,前提得有sudo的权限.没有的话先去跟管理员申请一个.

STEP 1 - 安装MySQL

首先打开浏览器访问下

https://dev.mysql.com/downloads/repo/yum/

如下图 :

centOS上安装MySQL5.7

这时候记录下相关的版本

然后执行 :

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-server

STEP 2 - 开始MySQL

经过刚才的步骤,MySQL应该已经安装完毕了, 我们执行下如下命令启动并确认下MySQL的状态

sudo systemctl start mysqld
sudo systemctl status mysqld

如果成功启动,应该会看到如下的信息 :

Active: active (running) since Mon 2017-07-24 13:40:34 CST; 4min 9s ago
## 这里需要注意的是,一旦MySQL安装完毕,就会随着系统自动启动,可以通过如下命令改变这种行为
## sudo systemctl disable mysqld

在安装的过程中,系统会自动为root用户生成一个默认的密码,记录在log中,我们可以通过如下命令查询出来

sudo grep 'temporary password' /var/log/mysqld.log
## 会得到类似这种的提示 : 2017-07-24T05:06:16.921561Z 1 [Note] A temporary password is generated for root@localhost: WtiyqA=_&*H
## 记好这个密码,一会登录的时候有用

STEP 3 - 配置MySQL

执行如下安全命令 :

sudo mysql_secure_installation  

这时候我们会看到类似如下的提示, 输入新的密码即可 :

The existing password for the user account root has expired. Please set a new password.

New password:
## 这里需要输入一个12位的密码,至少有一个大写字母,一个小写字母,一个特殊符号

到这一步理论上就完成了MySQL的安装,但实际上,可能还会遇到一些问题 :

"is not allowed to connect to this mysql server"

远程连接的时候,可能会出现上面的这个问题,按照下面的方式解决 :

mysql -u root -p
use mysql;
update user set host = '%' where user = 'root';

如果上面的命令在执行use mysql的时候报错,那么修改下MySQL的配置文件 :

sudo vim /etc/my.cnf
## 在[mysqld]下添加skip-grant-tables
mysql -u root -p
mysql> flush privileges;
## 这时候就可以use mysql了