MariaDB 10.4:(如果使用的为系统自带的数据库,版本号就比较低)

1、安装

OS: 这里我推荐使用CentOS7.3以后的,最小化安装即可(不带图形化),安装完毕之后禁用SELinux、关闭防火墙(平时的练习就可以关闭这两个)。
           安装常用软件:vim、wget、bash-completion、net-tools
           确保机器联网,需要将虚拟机改到桥接模式,或者NAT模式。

在我们安装完成操作系统后就需要配置一个数据库的yum源(这里我们安装的是10.4版本):

[root@localhost] vim /etc/yum.repo.d/mariadb.repo
    [mariadb]
    name=mariadb-10.4
    baseurl=http://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64/
    gpgcheck=0

    在对数据库进行安装

[root@localhost ~]# yum install mariadb-server -y

2、启动

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# systemctl enable mariadb

或者使用下面命令启动:
[root@localhost ~]# systemctl enable --now mariadb

[root@kongd ~]# netstat -lnupt | grep :3306                        //通过查看3306端口,发现服务已经启动
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      38251/mysqld    

了解其他数据库端口:
        MS SQL:1433
        Oracle:1521

[root@localhost ~]# firewall-cmd --permanent --add-service=mysql        //如果我们关闭了防火墙的话就可以不用敲一下命令
success
[root@localhost ~]# firewall-cmd --reload
success

3、初始安全

[root@localhost ~]# mysql_secure_installation

设置root密码

禁用root远程登录

移除匿名用户

移除test数据库

除过设置root密码外,其余步骤我们一直回车键即可。

4、设置密码

没有密码:

[root@localhost ~]# mysqladmin -uroot password "123456"

修改密码:

[root@localhost ~]# mysqladmin -uroot -p"888888" password "123456"

登录后修改:

[root@localhost ~]# mysql -uroot -p密码

方法1:

[root@localhost ~]# alter user root@'localhost' identified by '123456';    // 5.5版本不支持,系统自带

方法2:

[root@localhost ~]# set password for root@localhost = password('12345');

 方法3:(这是数据库的权限表,不建议使用)

MariaDB [(none)]> update mysql.user
-> set password=password('123456')
 -> where User="root" and Host="localhost";
MariaDB [(none)]> flush privileges;

5、重置密码

以下是10.4重置方式。

1)先停止数据库:

[root@localhost ~]# systemctl stop mariadb

重启时跳过权限表:

[root@localhost ~]# mysqld --skip-grant-tables --user=mysql

 当敲下这条命令后就会卡在这里,这时我们再重新打开一个远程连接执行以下命令。

2)登录数据库:(这里登陆使用另一个终端连接)

不用指定用户和密码,这里会默认使用本地登录的用户对数据库进行登录

MariaDB [(none)]> use mysql                    //登录数据库                      

3)刷新权限表:

[root@localhost ~]# FLUSH PRIVILEGES                   //不区分大小写

4)重置密码:

[root@localhost ~]# SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');               //不区分大小写

5.5 版本重置root密码:这里就不做演示了

1) 停止数据库

[root@localhost ~]# systemctl stop mariadb

2) 启动时加上--skip-grant-tables 跳过权限表

[root@localhost ~]# mysqld_safe --skip-grant-tables --user=mysql 

3) 登录数据库,修改密码

[root@localhost ~]# mysql

MariaDB [(none)]> update mysql.user

-> set password=password('123')

 -> where User="root" and Host="localhost";

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

 MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.00 sec)

验证:但是我们最初的终端还处于进程运行状态无法进行其他操作,我们在第二个连接中终止mysql进程。
停止:

[root@localhost ~]# yum install psmisc -y                             //先装这个包

[root@localhost ~]# killall -9 mysqld                                      //终结进程,多敲几次,直到出现提示为止。

mysqld: no process found

启动:

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# mysql -uroot -p123456 -e 'show databases;'                    //如果有显示,证明重置成功

6、登录

命令行:

[root@localhost ~]# mysql -u root -p123456 -D mysql -h localhost
            -u:用户名
            -p:密码,注意-p和密码不能有空格
            -D:数据库名
            -h:主机

windows下的客户端远程连接数据库软件(GUI):
1、Navicat for MySQL

2、SQLyog:

链接:https://pan.baidu.com/s/1GuE8tpXW36PP_N-7dZzXEg 
提取码:sx7p 

既然要远程登录,就要有用户名和密码,当然我们不能使用root用户来进行远程登录。            

授权给admin用户:

[root@localhost ~]# grant all on *.* to admin@'%' identified by '123456';            //授权所有数据库和表的访问权限给admin用户,使用任何方式登录,密码为123456

远程登录数据库;

 

 

可以看到我们使用图形化界面,与命令行一致。 

7、支持中文

设置服务器默认字符集

[root@localhost ~]# cd /etc/my.cnf.d/

[root@localhost my.cnf.d]# ls

enable_encryption.preset  mysql-clients.cnf  server.cnf

[root@localhost my.cnf.d]# vim server.cnf                           //编辑server.cnf配置文件,在[mysqld]下方添加如下字段

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

设置数据库客户端默认字符集

[root@localhost my.cnf.d]# vim  mysql-clients.cnf 

[mysql]

default-character-set=utf8

重启服务:

 [root@localhost my.cnf.d]# systemctl restart mariadb

测试:

MariaDB [(none)]> show variables like 'character%';              //使用模糊查询查看结果

MariaDB [(none)]> show variables like 'collation%';                    //发现已经为utf8类型

 

 posted on 2020-06-03 20:17  嚴∞帅  阅读(140)  评论(0编辑  收藏  举报