Aliyun服务器配置MySQL

Posted 愚者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Aliyun服务器配置MySQL相关的知识,希望对你有一定的参考价值。

MariaDB 数据库管理系统是 mysql 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。开发这个分支的原因之一是:甲骨文公司收购了 MySQL 后,有将 MySQL 闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的

查看Centos版本

[root@featherwit home]# cat /etc/redhat-release 
CentOS Linux release 7.8.2003 (Core)

并且有的centos7已经默认安装了Mariadb,可以查看自己的有没有安装,没有安装的再进行安装,已经安装了可以不用安装也可以卸载了重装。卸载命令 yum remove mariadb-server

 

安装MariaDB

通过yum安装就行了。简单快捷,安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个是客户端

[root@featherwit home]# yum install mariadb-server

 

配置MariaDB

1. 安装完成后首先要把MariaDB服务开启,并设置为开机启动

[root@featherwit home]# systemctl start mariadb  # 开启服务
[root@featherwit home]# systemctl enable mariadb  # 设置为开机自启动服务

2.  首次安装需要进行数据库的配置,命令都和mysql的一样

[root@featherwit home]# mysql_secure_installation

3. 配置时出现的各个选项

Enter current password for root (enter for none):  # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车

Set root password? [Y/n]  # 设置密码,y

New password:  # 新密码
Re-enter new password:  # 再次输入密码

Remove anonymous users? [Y/n]  # 移除匿名用户, y

Disallow root login remotely? [Y/n]  # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录

Remove test database and access to it? [Y/n]  # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要

Reload privilege tables now? [Y/n]  # 重新加载权限表,y。或者重启服务也许

4. 测试是否能够登录成功,出现 MariaDB [(none)]> 就表示已经能够正常登录使用MariaDB数据库了

[root@featherwit ~]# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \\g.
Your MariaDB connection id is 5
Server version: 5.5.65-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the current input statement.

MariaDB [(none)]>

 

设置MariaDB字符集为utf-8

1. /etc/my.cnf 文件

在 [mysqld] 标签下添加

init_connect=\'SET collation_connection = utf8_unicode_ci\'
init_connect=\'SET NAMES utf8\'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake

2.  /etc/my.cnf.d/client.cnf 文件

在 [client] 标签下添加

default-character-set=utf8

3. /etc/my.cnf.d/mysql-clients.cnf 文件

在 [mysql] 标签下添加

default-character-set=utf8

4. 重启服务

[root@featherwit ~]# systemctl restart mariadb

5. 进入mariadb查看字符集

MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";

 

远程链接mariadb数据库

1. mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库

  a. 关闭防火墙

[root@featherwit ~]# systemctl stop firewalld

  b. 在不关闭防火墙的情况下,允许某端口的外来链接。步骤如下,开启3306端口,重启防火墙

[root@featherwit ~]# firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
no
[root@featherwit ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent  # 开启3306端口
success
[root@featherwit ~]# firewall-cmd --reload  # 重启防火墙
success
[root@featherwit ~]# firewall-cmd --query-port=3306/tcp  # 查看3306端口是否开启
yes

2.  先查看mysql数据库中的user表

[root@featherwit ~]# mysql -u root -p  # 先通过本地链接进入数据库

MariaDB [(none)]> use mysql;

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| 127.0.0.1 | root |
| ::1       | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)

3. 将与主机名相等的字段改为 "%" ,我的主机名为localhost,

MariaDB [mysql]> update user set host=\'%\' where host=\'mini\';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [mysql]> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | root |
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
3 rows in set (0.00 sec)

4. 刷新权限表,或重启mariadb服务,以下二选一即可

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@featherwit ~]# systemctl restart mariadb

 

安全组规则设置

登录阿里云--进入控制台--安全组--配置规则(默认有一条规则,直接在上面追加一条即可,也可以自己新增一条)

 

以上是关于Aliyun服务器配置MySQL的主要内容,如果未能解决你的问题,请参考以下文章

Aliyun mysql配置 远程访问 10038

服务器代码部署篇

Linux aliyun ECS CentOS8 服务器安装Redis 部署集群 ,JDK安装与Tomcat配置

linux下搭建nginx+mysql+apache

FlinkCdc--Debezium实现Kafka实时监控mysql binlog日志

LAMP的基本配置