不同版本可能存在代差。我这里使用mariadb10.4 /10.6。

### 登录 ###

# root空密码登录localhost(初始安装后一般可以空密码登录,如果安装时有设置过密码请用前面设置过的密码登录。如果记录登录的root密码,可以尝试重新设定密码,或甚至重新安装)

mysql

# root带密码登录localhost(-u用户名,-p密码。-u后面一空格可以不输入,直接-用户名也可以)

mysql -u 用户名 -p             //回车后按提示输入密码
[e.g]
mysql -u root -p
mysql -uroot -p
# root带密码使用IP登录(-h是指定登录的IP,-u用户名,-p密码)
mysql -h IP地址 -u 用户名 -p             //回车后按提示输入密码
[e.g]
mysql -h 127.0.0.1 -u root -p
# root带密码使用IP+端口登录(端口参数-P为大写,默认端口3306可以不输入)
mysql -h IP地址 -p 端口 -u 用户名 -p             //回车后按提示输入密码
[e.g]
mysql -h 127.0.0.1 -P 3306 -u root -p
### 查看 ###
# 查看当前登录用户名
 >select user();
 >select current_user();
 >select substring_index(user(),'@',1);# 查看所有数据库
>show databases;
# 查看某个数据库下所有表(理论上要先使用某个数据库后才能到表)
>use mysql;
>show tables;
# 查看表结构信息(先使用某个数据库)
>describle table_name;
>explain table_name;
>show columns from table_name;
[e.g]先使用某个数据库,再查看某个表结构
>use mysql;
>describle user;
[e.g]直接查看结构“数据库名.表名”(中间是英文符号点)
>describle mysql.user;
# 查看某个表内所有的信息(查看mysql数据库的user表,select是选择,*是所有字段)
>use mysql;
>select * from user;
或
>select * from mysql.user;
# 查看某个表内指定字段的数据内容。(***通常用来查看用户登录权限信息,user用户,host访问地址,password密码)
>select 字段1,字段2,字段3 from 数据库名.表名;
>select user,host,password from mysql.user;
### 用户管理 ###
# 创建用户
>create user '用户名'@'登录地址' identified by '该用户的新密码';
>flush 权限;
[e.g]
>create user 'qin'@'192.168.1.114' identified by '123456';
 >flush privileges;# 删除已有用户(登录的地址可查看,select user,host from mysql.user;)
> drop user '用户名'@'登录地址';
[e.g]
>drop user 'abc'@'localhost';
 >drop user 'abc'@'127.0.0.1';
 >drop user 'abc'@'192.168.1.%';
 >drop user 'abc'@'192.168.1.100';# 修改用户密码
>flush privileges;
 >ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
 >set password for 'root'@'localhost' = password('新密码');[e.g]
>flush privileges;
 >ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';或
>flush privileges;
>set password for 'root'@'localhost' = password('12345678');
# 修改登录地址
>rename user '用户名'@'旧登录地址' to '用户名'@'新登录地址'
>flush privileges;;
[e.g]
>use mysql;
 >update user set host = '192.168.1.2' where user = 'qf' and host = '%';
 ERROR 1356 (HY000): View ‘mysql.user’ references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them>use mysql;
 >rename user 'qf'@'%' to 'qf'@'192.168.1.2';
 >flush privileges;# 赋用户远程登录的权限(用户不存在,请先创建用户)
>grant 权限 privileges on 数据库名.表名 to '用户名'@'IP地址';
[e.g]all代表所有权限,*.*表示针对所有数据库和表
 >grant all privileges on *.* to 'qin'@'192.168.1.114';
 >flush privileges;#赋予某个数据库全部的权限
 >GRANT ALL PRIVILEGES ON mydatabase.* TO 'username'@'localhost';
 >FLUSH PRIVILEGES;[e.g]
>grant all privileges on TESTdatabase.* to 'qf'@'localhost';
>flush privileges;
#赋予某个数据库指定的权限
 >GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'username'@'localhost';
 >FLUSH PRIVILEGES;
 https://www.php.cn/faq/491946.html https://www.jianshu.com/p/8c2b40095b63[e.g]赋予select查询,insert插入,update更新权限
>grant select,insert,update on TESTdatabase.* to 'qf'@'localhost';
>flush privileges;