Debian 9安装配置MariaDB(MySQL)

Debian 9 使用 MariaDB 彻底代替了 MySQL。因此在配置方面,相比之前版本有很多的不同。

安装MariaDB

安装 MariaDB 仍旧可以使用下面的命令,相比使用 mariadb-server,使用 mysql-server 能够保证对 MySQL 的兼容性。

apt-get install mysql-server

因为 Debain 9 源内的 MariaDB 10.0 使用了 UNIX 套接字认证,所以在全新安装 MariaDB 的过程中,不再有 MySQL root 密码的配置窗口.

提供远程访问权限

这部分需要两个步骤,修改服务监听地址 和 授权数据库.

修改服务监听地址

不再是修改 my.cnf 了。这次,你需要修改的是这个文件:
/etc/mysql/mariadb.conf.d/50-server.cnf
修改的内容一样,在 [mysqld] 区块下,修改 bind-address 的值。下面的一段实例,是允许任意IP地址连线数据库:

user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
 
bind-address            = 0.0.0.0

授权数据库

你需要授予数据库远程访问的权限。首先使用

mariadb

来进入 MariaDB 命令行。只要你是 Linux 的 root,登入 MariaDB 不需要密码。
接下来,给 MariaDB 的 root 用户授予远程访问权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;
flush privileges;

修改 MariaDB 的 root 密码

use mysql
UPDATE user SET Password = password('新密码') WHERE User = 'root';
flush privileges;

使用原生 MySQL 认证

因为默认使用了 UNIX SOCKET 认证,有些 phpMyAdmin 在登入时会发生 “Access Denied” 错误。我们可以更改 UNIX SOCKET 认证为原生 MySQL 认证.

update mysql.user set plugin = 'mysql_native_password' where User='root';   
flush privileges;  
quit

最后,重启一下数据库即可

systemctl restart mariadb.service
如果重启失败,可以直接在控制面板里面重启服务器,终极武器.

你可能感兴趣的:(数据库)