首先检查系统中是否已安装 MySQL

rpm -qa | grep mysql

返回空值的话,就说明没有安装 MySQL

返回的如果有mysql程序名的话,可以执行以下命令进行卸载,然后安装我们想要的 MySQL 版本

rpm -e --nodeps mysql-release

然后查询所有 MySQL 对应的文件夹

whereis mysql

find / -name mysql

rm -rf删除上面返回的文件夹

在新版本的CentOS7中,默认的数据库已更新为了Mariadb,而非 MySQL,所以执行 yum install mysql 命令只是更新Mariadb数据库,并不会安装 MySQL 。

查看已安装的 Mariadb 数据库版本

rpm -qa|grep -i mariadb

卸载已安装的 Mariadb 数据库

rpm -qa|grep mariadb|xargs rpm -e --nodeps

再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成

rpm -qa|grep -i mariadb

下载 MySQL 的 RPM 安装包文件

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

如果提示:-bash: wget: command not found
就输入下面命令,安装一下wget

yum -y install wget

安装下载好的 RPM 包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。

进入/etc/yum.repos.d/目录,然后ls查看一下有没有上面两个源文件。

cd /etc/yum.repos.d/

查看可用的 mysql 安装文件

yum repolist all | grep mysql

安装 MySQL

yum install mysql-server

检查 MySQL 是否安装成功

rpm -qa | grep mysql

编辑 /etc/my.cnf 配置文件

添加如下配置:

port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
character_set_server=utf8
collation_server=utf8_general_ci
init_connect='SET NAMES utf8'

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysql.server]
default-character-set=utf8

[mysql_safe]
default-character-set=utf8

启动 MySQL 服务

systemctl start mysqld.service   #启动 mysql
systemctl restart mysqld.service #重启 mysql
systemctl stop mysqld.service    #停止 mysql
systemctl enable mysqld.service  #设置 mysql 开机启动

设置密码

MySQL5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 MySQL 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。

mysql -u root

mysql> use mysql;
mysql> update user set password=PASSWORD("这里输入要设置的root用户密码") where User='root';
mysql> flush privileges;

设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password';

例如:执行以下命令,为root 用户添加远程登录的能力。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";

在防火墙放行3306端口

查看 firewalld 状态

systemctl status firewalld    

systemctl start firewalld     开启 firewalld

systemctl stop firewalld      关闭 firewalld

开放指定端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

--permanent 表示永久生效,没有此参数重启后失效

重新载入

firewall-cmd --reload

查看端口是否开放

firewall-cmd --zone=public --query-port=3306/tcp

删除放行的端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent
Last modification:December 10th, 2020 at 10:04 am
If you think my article is useful to you, please feel free to appreciate