[toc]
安装
Ubuntu 安装 mysql 的教程网上一大堆。
1
| sudo apt-get install mysql-server
|
配置
- 修改配置文件
1
| sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
|
- 在
[mysqld]
添加 skip-grant-tables
- 重启数据库
1 2 3 4 5
| sudo systemctl restart mysql
sudo service mysql restart
|
修改用户属性
- 进入
mysql
1 2 3 4
| sudo mysql -u root
use mysql;
|
- 更新用户密码
1 2 3 4 5
| alter user root identified with mysql_native_password by 'Admin1234';
update user set authentication_string='Admin1234' where user='admin';
|
到此就可以使用用户登录了。
- 补充,创建其他用户
1
| CREATE USER 'username'@'host' IDENTIFIED BY 'password';
|
授权远程使用
更改授权后,一定要执行 flush priviledges;
。
1
| grant all on *.* to 'root'@'%';
|
执行上一步可能会报错,因为在 上一步 修改用户密码时,设置了地址为 localhost
。所以这里不能直接授权其他主机访问,需要先把root账号的host修改为可以访问所有主机,再去授权。
1 2 3
| update user set host='%' where user='root';
flush priviledges;
|
1 2 3
| grant all on *.* to 'root'@'%';
flush priviledges;
|
1 2 3 4 5
| sudo systemctl restart mysql
sudo service mysql restart
|
使用 navicat
连接数据库
如果出现连接时报错 1130-host ... is not allowed to connect to this MySql server
。则说明是服务器端口权限没开放。简单改动可直接使用ufw命令。如下所示:
sudo ufw allow 3306
如下图所示:
- 连接名:随便起名,用来区分连接的数据库
- 主机:
192.168.0.102
为虚拟机的ip地址
- 端口:3306,mysql默认端口
- 用户名:root
- 密码:密码