安装
1、#查看有没有安装MySQL:
dpkg -l | grep mysql
2、 安装MySQL:
sudo apt install mysql-server
3、检查是否安装成功:
netstat -tap | grep mysql
通过上述命令检查之后,如果看到有 mysql 的socket处于 LISTEN 状态则表示安装成功。
4、登录mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,现在是mysql数据库是没有密码的,Enter password:处直接回车,就能够进入mysql数据库。
查看版本
mysql -V //大写的V
设置root密码
mysql 8.0使用了新的密码加密方式,不再使用mysql_native_password。
输入 sudo cat /etc/mysql/debian.cnf
显示
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = ndUmfWzlZffKdS5sqd
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = ndUmfWzlZKdS5sqd
socket = /var/run/mysqld/mysqld.sock
使用mysql -u debian-sys-maint -p登录
SELECT User,Host,plugin FROM mysql.user WHERE user='root';
+------+-----------+-------------+
| User | Host | plugin |
+------+-----------+-------------+
| root | localhost | auth_socket |
+------+-----------+-------------+
使用auth_socket认证
修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
flush privileges;
刷新权限
exit
如果使用远程登陆
运行
UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';
update user set host = '%' where user = 'root';
运行
flush privileges;
% 就是不限制登录地址,同时主要修改配置文件中bind-address
然后设置
ALTER USER root IDENTIFIED WITH caching_sha2_password BY '123456';
最后运行
flush privileges;
因为很多工具远程连接mysql有问题
建议使用
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
配置远程连接
1.sql操作
mysql -uroot -p(自己的密码)或没设置密码 直接输入 mysql
可以先进mysql库中的user表查看root的host(连接地址)及plugin(密码验证)属性
use mysql;
select user, host, plugin from user where user = 'root';
host不是%就修改连接地址允许范围
update user set host = '%' where user = 'root';
plugin如果是默认的caching_sha2_password 那就修改为mysql_native_password并设置登录密码
alter user 'root'@'%' identified with mysql_native_password by 'pwd';
操作完成后刷新一下权限
flush privileges;
2.配置文件修改
先看一下3306端口状态
netstat -aptn
如果显示127.0.0.1:3306,那么修改MySQL配置文件
etc/mysql/mysql.cnf.d/mysqld.cnf 下修改bind-address 127.0.0.1->0.0.0.0
3.防火墙设置
查看防火墙是不是开启了3306的访问
ufw status
如果没有那就开启
ufw allow 3306
数据库备份恢复
ubuntu中导出mysql数据库的方法
mysqldump -uroot -p -R xxx>./xxx.sql
ubuntu中导入mysql数据库的方法
1.首先,在命令行中,启动mysql服务;
sudo service mysql start
2.mysql服务启动后,使用命令进行mysql;
mysql -u root -p
3.在数据库中新建一个需要导入的数据库名,并使用它;
CREATE DATABASE 数据库名;
USE 数据库名;
4.为数据库设置编码;
set names utf8;
5.最后,使用source命令导入sql文件即可;
source /home/123.sql #sql文件的保存路径