debian8安装mysql(MariaDB)
debian8安装mysqlMariaDB 安装 配置 本地登陆 解决办法 允许外网登陆
简介
曾经做过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;