Linux MySQL相关命令

登录数据库:
mysql -u root -p
重启:
systemctl restart mysqld 
启动:
service mysql start
停止:
service mysql stop

MySQL内的命令

#查看端口号:
show global variables like 'port';	
#查看是否区分大小写(1不区分,0区分):
show variables like '%case_table%';
#授权给所有主机host可用root用户访问:
use mysql;
update user set user.host='%' where user.user='root' ;
#刷新权限:
flush privileges;

用户相关权限

use mysql;
#创建用户:
create user '用户名'@'ip地址' identified by '密码';
#查看所有用户的名字,主机地址,加密方式
select user,host,plugin from user;
#授权
grant insert,delete,select,alter ON DB.* TO 'xiaoming'@'localhost';
#查看授权
show grants for 'xiaoming'@'localhost';
#设置旧版方式加密的密码
alter user 'xiaoming'@'localhost' identified with mysql_native_password by '你的密码';

加密方式说明:
旧版加密方式(MySQL5默认):mysql_native_password
新版加密方式(MySQL8默认):caching_sha2_password

主机地址说明:
主机地址%代表所有ip均可使用此账户登录

远程访问和区分大小写配置文件修改

配置文件可能在cd /etc/mysql/mysql.conf.d/
也可能在vi /etc/my.cnf
在[mysqld]下修改或添加bind-address=0.0.0.0
lower_case_table_names = 1 1代表不区分,0代表区分

bind-address=0.0.0.0
lower_case_table_names = 1

远程访问的配置步骤

#按照上一步骤修改配置文件,重启mysql服务
bind-address=0.0.0.0
use mysql;
#查看所有用户的名字,主机地址,加密方式
select user,host,plugin from user;
#授权给所有主机host或远程连接电脑的ip地址可用root用户访问:
update user set user.host='%' where user.user='root' ;
#刷新权限:
flush privileges;

注意:
如果远程访问失败请查看云服务器的防火墙配置是否开放了相应的MySQL服务端口号,并查看服务器是否有其它防火墙工具(例如宝塔面板)没有授予端口开放权限,可以使用网络上的端口扫描工具扫描端口是否正常开放。
在线端口扫描网站:
http://www.jsons.cn/port/
http://tool.chinaz.com/port/
http://coolaf.com/tool/port/

此外,如果以上方式配置无误后还是无法成功开启远程访问,可以考虑更换端口号尝试,把默认的3306端口号改成3307或3308尝试

备份与恢复

# 备份
mysqldump -u root -p --all-databases > backup.sql
# 恢复
mysql  -u root -p < backup.sql
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐