安裝
1、#查看有沒有安裝MySQL:
dpkg -l | grep mysql
2、 安裝MySQL:
sudo apt install mysql-server
3、檢查是否安裝成功:
netstat -tap | grep mysql
通過上述命令檢查之后,如果看到有 mysql 的socket處于 LISTEN 狀態(tài)則表示安裝成功。
4、登錄mysql數(shù)據(jù)庫可以通過如下命令:
mysql -u root -p
-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,現(xiàn)在是mysql數(shù)據(jù)庫是沒有密碼的,Enter password:處直接回車,就能夠進(jìn)入mysql數(shù)據(jù)庫。
查看版本
mysql -V //大寫的V
設(shè)置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認(rèn)證
修改root密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';
flush privileges;
刷新權(quán)限
exit
如果使用遠(yuǎn)程登陸
運(yùn)行
UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';
update user set host = '%' where user = 'root';
運(yùn)行
flush privileges;
% 就是不限制登錄地址,同時主要修改配置文件中bind-address
然后設(shè)置
ALTER USER root IDENTIFIED WITH caching_sha2_password BY '123456';
最后運(yùn)行
flush privileges;
因為很多工具遠(yuǎn)程連接mysql有問題
建議使用
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
配置遠(yuǎn)程連接
1.sql操作
mysql -uroot -p(自己的密碼)或沒設(shè)置密碼 直接輸入 mysql
可以先進(jìn)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如果是默認(rèn)的caching_sha2_password 那就修改為mysql_native_password并設(shè)置登錄密碼
alter user 'root'@'%' identified with mysql_native_password by 'pwd';
操作完成后刷新一下權(quán)限
flush privileges;
2.配置文件修改
先看一下3306端口狀態(tài)
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.防火墻設(shè)置
查看防火墻是不是開啟了3306的訪問
ufw status
如果沒有那就開啟
ufw allow 3306
數(shù)據(jù)庫備份恢復(fù)
ubuntu中導(dǎo)出mysql數(shù)據(jù)庫的方法
mysqldump -uroot -p -R xxx>./xxx.sql
ubuntu中導(dǎo)入mysql數(shù)據(jù)庫的方法
1.首先,在命令行中,啟動mysql服務(wù);
sudo service mysql start
2.mysql服務(wù)啟動后,使用命令進(jìn)行mysql;
mysql -u root -p
3.在數(shù)據(jù)庫中新建一個需要導(dǎo)入的數(shù)據(jù)庫名,并使用它;
CREATE DATABASE 數(shù)據(jù)庫名;
USE 數(shù)據(jù)庫名;
4.為數(shù)據(jù)庫設(shè)置編碼;
set names utf8;
5.最后,使用source命令導(dǎo)入sql文件即可;
source /home/123.sql #sql文件的保存路徑
個人網(wǎng)站:https://www.leachchen.com/