本文使用DNF命令安装mysql。DNF(Dandified Yum)取代YUM(Yellowdog Updater, Modified),成为新一代RPM发行版软件包管理器。
以下操作基于系统root用户,非root用户请在命令前加sudo。
一、安装
安装MySQL 8服务器和客户端:
dnf install @mysql
二、启动服务
设置mysql服务随系统自动启动,并立即启动(--now),命令:
systemctl enable --now mysqld
检查运行状态:
systemctl status mysqld
三、设置mysql root用户密码和安全性配置
命令:
mysql_secure_installation
详细配置步骤如下图所示:
我这里使用了中强度密码,禁止了root用户远程登录。
四、登录
使用root用户和密码登录:
mysql -uroot -p{上面配置的password}
注意:-p后面没有空格。
五、创建用户与授权
创建用户:
create user {username}@'{host}' identified by '{paasword}';
其中{username}为自定义的用户名;{host}为登录域名,{host}为’%'时表示为任意ip地址,为localhost时表示本机,或者填写指定的ip地址;{paasword}为密码
授权:
grant all privileges on {databaseName}.* to {username}@'%';
flush privileges;
{databaseName}.表示数据库的全部表,.*.表示全部数据库的全部表;{username}为指定的用户;'%'为该用户登录的域名*
六、配置mysql
查看、更改mysql配置:
vim /etc/my.cnf.d/mysql-server.cnf
配置内容如下,按需修改:
[mysqld]
# 数据存储目录
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 错误日志目录
log-error=/var/log/mysql/mypwdsqld.log
pid-file=/run/mysqld/mysqld.pid
这里修改datadir=/data/mysql,将旧数据拷贝到新目录,记得更改目录权限:
# 先停止服务
systemctl stop mysqld
# 拷贝
cp -r /var/lib/mysql /data/
chown -R mysql:mysql /data/mysql
systemctl start mysqld
七、开放端口
查看防火墙状态
firewall-cmd --state
如果不是running,可忽略以下操作
如果是running
查看开放端口列表:
firewall-cmd --zone=public --list-ports
如果有3306,可忽略以下操作
没有则增加,执行以下2条命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
完成,可使用客户端连接数据库。