1、安装MariaDB
通过yum安装mariadb-server,默认依赖安装mariadb,一个是服务端、一个是客户端。
[root@localhost ~]# yum install mariadb-server
2、配置MariaDB
1、把MariaDB服务开启,并设置为开机启动
[root@localhost ~]# systemctl start mariadb # 开启服务
[root@localhost ~]# systemctl enable mariadb # 设置为开机自启动服务
2、进行MariaDB数据库的配置
[root@localhost ~]# mysql_secure_installation
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:不删除,选择y
Reload privilege tables now? [Y/n] # 重新加载权限表,选择y
3、登录测试
[root@localhost ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-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)]>
3、设置MariaDB字符集为utf-8
1、通过vim /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、vim /etc/my.cnf.d/client.cnf,在 [client] 标签下添加
default-character-set=utf8
3、vim /etc/my.cnf.d/mysql-clients.cnf,在 [mysql] 标签下添加
default-character-set=utf8
4、重启服务
[root@localhost ~]# systemctl restart mariadb
5、再次登录数据库后查看字符集
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
MariaDB [(none)]>
4、远程链接MariaDB数据库
mariadb默认是拒绝 root 远程登录的。这里用的是 navicat 软件连接数据库
1、开放防火墙端口
[root@localhost ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
no
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启3306端口
success
[root@localhost ~]# firewall-cmd --reload # 重启防火墙
success
[root@localhost ~]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
yes
2、查看mysql数据库中的user表
[root@localhost ~]# 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 |
| localhost.localdomain | root |
+-----------------------+------+
4 rows in set (0.00 sec)
3、将与主机名相等的字段改为 “%” ,我的主机名为localhost
MariaDB [mysql]> update user set host='%' where host='localhost';
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 |
| ::1 | root |
| localhost.localdomain | root |
+-----------------------+------+
4 rows in set (0.00 sec)
4、重启mariadb服务
[root@localhost ~]# systemctl restart mariadb
5、远程连接MariaDB