debian8安装mysql(MariaDB)
简介
曾经做过centos 6的 MariaDB的安装,最近改用debian,但是发现以前的那一套行不通了。还出现了一些诡异的问题,在这里记录一下
安装
使用apt进行安装,这里无问题
sudo apt-get install mariadb-server
配置
主要配置
sudo mysql_secure_installation
- Enter current password for root (enter for none): (第一次没有密码)
- Set root password? [Y/n] y (设置 root 密码)
- Remove anonymous users? [Y/n] y (移除匿名账户)
- Disallow root login remotely? [Y/n] y (禁用 root 远程登录)
- Remove test database and access to it? [Y/n] y (删除 test 数据库和访问权限)
- Reload privilege tables now? [Y/n] y (刷新权限)
本地登陆
mysql -u root -p
登陆失败了?~~
切换到root下,登陆成功了
root$mysql -u root -p
什么原因?输入
systemctl status mysql.service
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-09-05 16:32:41 HKT; 2min 34s ago
Main PID: 1789 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─1789 /usr/sbin/mysqld
Sep 05 16:32:40 debian-lee systemd[1]: Starting MariaDB database server...
Sep 05 16:32:40 debian-lee mysqld[1789]: 2017-09-05 16:32:40 140063789994560 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 1789 ...
Sep 05 16:32:41 debian-lee systemd[1]: Started MariaDB database server.
看起来一切正常,这是什么问题?
select user, plugin from user;
可以看到,用户的plugin为unix_socket
MariaDB [mysql]> select user,plugin from user;
+------+-------------+
| user | plugin |
+------+-------------+
| root | unix_socket |
+------+-------------+
1 row in set (0.00 sec)
解决办法
update mysql.user set plugin='' where User='root';
flush privileges;
允许外网登陆
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
修改bind address 为 0.0.0.0
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;