• 折腾
  • 树莓派pi 3 安装Mysql服务

在树莓派上 安装Mysql 服务,并开启远程访问

步骤
安装 mysql server

$ sudo apt-get install mysql-server

我以为中间会让我提示输入 数据库root的密码,没想到一帆风顺,直接完成,我要疯了,密码到底是什么了。通过搜索发现,可以使用如下命令,空密码登录

$ sudo mysql -u root

设置root密码

use mysql;
update user set plugin='mysql_native_password' where user='root';
UPDATE user SET password=PASSWORD('你自己的密码') WHERE user='root';
flush privileges;
exit;

重启Mysql

sudo /etc/init.d/mysql restart


开启mysql远程访问
修改mysql配置,允许远程登录

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
#将bind-address这行注释掉,或者将127.0.0.1改成0.0.0.0,然后重启
 
$ sudo /etc/init.d/mysql restart

设置账号可以远程登录

$ mysql -uroot -p
 
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root账号密码' WITH GRANT OPTION;
flush privileges;
然后就可以使用其他客户端直接连接了
开始安装mysql:
1. 使用管理员权限运行apt-get获取最新的MySQL:
$ sudo apt-get install mysql-server 
安装后发现mysql的版本是MariaDB分支,与MySQL在应用上是兼容的不要紧
$ mysql --version
mysql  Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnueabihf (armv7l) using readline 5.2
2. 修改root密码,安装过程中并没有提示设置密码需要以空密码登录root来修改密码
#空密码登录
$ sudo mysql -u root
# 连接数据库
use mysql;
# 修改密码为qq135246
set password=PASSWORD('qq135246');
# 刷新
flush privileges;
# 退出
exit;   或者 \q;
# 测试密码(不要省略sudo,设置密码后空密码登录将不可用)
$ sudo mysql -u root –p
3. 打开远程访问权限, '%'表示开放所有IP
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'qq135246' WITH GRANT OPTION;
4、mysql全局参数配置
修改plugin参数为mysql_native_password 
update user set plugin='mysql_native_password';
修改Host参数为'%'
update user set Host='%';
查看mysql全局参数
mysql> SELECT Host,User,Password,plugin from user;
刷新


flush privileges;
5. 树莓派mariadb mysql远程登录修改配置文件,否则navicat会报错“2003-Can’t connect to MySQL server on ‘192.168.2.2’(10060)”
直接打开编辑不能保存会报错,“无法打开要写入的文件”需要使用nano编辑
$cd /etc/mysql/mariadb.conf.d
$sudo nano 50-server.cnf
向下移动光标到bind-address = 127.0.0.1,将127.0.0.1改为0.0.0.0,Ctrl+x离开,选择保存回车确认文件名