安装
- 配置包管理系统
cat > /etc/yum.repos.d/mariadb.10.3.repo << EOF
[mariadb]
name = MariaDB-10.3.15
baseurl=http://archive.mariadb.org/mariadb-10.3.15/yum/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF
- 安装
sudo yum install MariaDB-server MariaDB-client
- 查看版本
mysql -V
- 启动
# 启动 mariadb
systemctl start mariadb
# 查看 mariadb 状态
systemctl status mariadb
# 设置为开机自启动
systemctl enable mariadb
配置
- 初始化、配置 Mariadb
设置 root 密码,移除匿名用户登录,允许 root 账号远程登录,移除测试数据库,刷新权限表
mysql_secure_installation
新增用户并设置权限
- 新增用户并设置数据库访问权限及密码
- 登录 root 账号
# 执行 MySQL 登录语句,回车输入登录密码
mysql -uroot -p
- 新增用户 iot_prd,并赋予其访问数据库 iot 所有表的权限,并允许所有主机使用该用户登录
# 选择 mysql 数据库
use mysql;
# 查询 user 表数据
select Host,User,plugin,authentication_string from user;
# 新增用户 iot_prd,允许所有主机使用该用户登录,并设置密码
CREATE USER 'iot_prd'@'%' IDENTIFIED BY '密码';
# 授予 iot_prd 用户拥有 iot 数据库所有表的全部权限,并允许所有主机访问
GRANT ALL ON iot.* TO 'iot_prd'@'%';
# 刷新权限
flush privileges;
- 使用 iot_prd 用户登录 MySQL,查看权限
# 执行 MySQL 登录语句,回车输入登录密码
mysql -uiot_prd -p
# 查看权限
show grants;
修改 MySQL 运行端口号
- 登录 root 账号
# 执行 MySQL 登录语句,回车输入登录密码
mysql -uroot -p
- 查询 MySQL 当前运行端口号
show global variables like 'port';
- 设置 MySQL 运行端口号
# 打开 MySQL 配置文件
vim /etc/my.cnf.d/server.cnf
# 修改 port 值为目标值 13306,保存,port 值不存在则新增
- 重启 MySQL
systemctl restart mariadb
- 如果重启失败请执行下面步骤
# 打开配置文件,修改 SELINUX 值
vim /etc/selinux/config
# 修改 SELINUX=disabled,保存退出
SELINUX=disabled
# 设置 setenforce 值为 0
setenforce 0
# 重启 MySQL
systemctl restart mariadb
远程访问
- 服务器安全组开放 MySQL 端口 13306
- 修改 MySQL 配置文件
# 打开 MySQL 配置文件
vim /etc/my.cnf.d/server.cnf
# 取消注释 bind-address=0.0.0.0,保存,允许所有主机访问
- 使用 root 登录 MySQL
# 执行 MySQL 登录语句,回车输入登录密码
mysql -uroot -p
# 选择 mysql 数据库
use mysql;
# 查询 user 表数据
select Host,User,plugin,authentication_string from user;
- 查询 user 表,将需要开启远程访问的用户设置允许所有主机访问
- 方法一:新增可以访问所有主机的用户,参见“新增用户”
- 方法二:直接修改 user 表 Host 值
# 修改 user 表 Host 值为 %,即允许所有主机访问
update user set Host='%' where User='root' and Host='localhost';
# 刷新权限
flush privileges;
- 使用 Navicat 测试 root 用户远程登录 MySQL