mysql8 常用方法

1 查用户

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user from user;

+-----------+------------------+
| host      | user             |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
| localhost | test_admin       |
+-----------+------------------+
5 rows in set (0.00 sec)
查数据库

show databases;

2 用户删除

DROP USER 'temp'@'localhost';

 DROP DATABASE scm;

flush privileges;
 

select user,host,plugin,authentication_string from user;
 

3 允许mysql远程访问

update user set host='%' where user='root' and host='localhost';

4 配置开机启动

chkconfig mysql on

5 远程连接

update mysql.user set host = '%' where user = 'scm';

6 给新用户授权时 mysql8

问题:

mysql> grant all privileges on *.* to 'root'@'cdh1' identified by '123456' with
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that

解决:
mysql> create  user 'root'@'temp' identified by  'temp' ;
Query OK, 0 rows affected (0.18 sec)

mysql> grant all privileges on *.* to 'root'@'temp' with grant option ;
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.07 sec)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;


8 show databases;

进入某个数据库

use databasename;

列出数据库中的表

show tables;

查看某个表全部字段

desc slow_log;

7 mysql 8.0 设置简单密码

第一步:修改MySQL 登入限制:

# vim /etc/my.cnf

在[mysqld]的末尾追加上一句:skip-grant-tables 

保存并退出

第二步:重新启动MySQL服务

#systemctl restart mysqld

第三步 mysql -u root -p

第四步:登入MySQL 删除root 用户,新增admini 用户

#mysql

mysql>  use mysql;

mysql> delete from user where user='root';  // 删除'root'用户

或者

update user set authentication_string=password('新密码') where user='root';

或者

update user set authentication_string="" where user="root"

Query OK, 1 row affected (0.04 sec)

mysql> select user,host from user;  // 查询用户信息
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
3 rows in set (0.00 sec)

mysql> flush privileges;  // 权限刷新
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE USER 'root'@'%' IDENTIFIED with mysql_native_password  BY '123456'; // 创建admini 用户和密码 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements  // 创建root'用户提示密码不符合规则,密码规则需要调整。

第四步:调整密码规则

mysql> SHOW VARIABLES LIKE 'validate_password%';  // 查看密码规则关键字段
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 1     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.00 sec)

mysql> set global validate_password.policy=0;  //设置密码安全等级,0 是最低
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.length=4; // 设置密码最低长度,4
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;   //权限刷新
Query OK, 0 rows affected (0.01 sec)

第五步:创建admini 用户,并赋予MySQL 最高权限

mysql> CREATE USER 'root'@'%' IDENTIFIED with mysql_native_password  BY '123456'; // 创建admini 用户和密码

或者

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果出:

ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'%'

就直接删除  root 

mysql> drop user root;

mysql> flush privileges;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.10 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

第六步:再次修改MySQL 登入限制:

去除[mysqld] 中的skip-grant-tables ,重新启动MySQL服务。

1.更改root密码

mysqladmin -uroot password 'yourpassword'

2.远程登陆mysql服务器

mysql -uroot -p -h192.168.137.10 -P3306

3.查询数据库

 CREATE DATABASE 数据库名;

SOURCE d:/mysql.sql;

show databases;

4.进入某个数据库

use databasename;

5.列出数据库中的表

show tables;

6.查看某个表全部字段

desc slow_log;

show create table slow_log\G; (不仅可以显示表信息,还可以显示建表语句)

7.查看当前用户

select user();

8.查看当前所在数据库

select database();

9.创建新数据库(可以指定字符集)

create database db1 charset utf8;

10.创建新表

create table t1 (`id` int(4), `name` char(40));

11.查看数据库版本

select version();

12.查看数据库状态

show status;         当前会话状态

show global status;  全局数据库状态

show slave status\G;   查看主从数据库状态信息

13.查询数据库参数

show variables;

14.修改数据库参数

show variables like 'max_connect%';

set global max_connect_errors = 1000;(重启数据库会失效,要在配置文件中修改)

15.查看当前数据库队列

show processlist;

16.创建普通用户并授权给某个数据库

grant all on databasename.* to 'user1'@'localhost' identified by '123456';

17.查询表数据

select * from mysql.db;           //查询该表中的所有字段

select count(*) from mysql.user;  //count(*)表示表中有多少行

select db,user  from mysql.db;    //查询表中的多个字段

select * from mysql.db where host like '10.0.%';在查询语句中可以使用万能匹配 “%”

18.插入一行数据

insert into db1.t1 values (1, 'abc');

19.更改表的某一行数据

update db1.t1 set name='aaa' where id=1;

20.清空表数据

truncate table db1.t1;

21.删除表

drop table db1.t1;

22.清空数据库中的所有表(数据库名是eab12)

mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12

23.删除数据库

drop database db1;

24.数据库备份

mysqldump  -uroot -p'yourpassword' mysql >/tmp/mysql.sql

25.数据库恢复

mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql

26.新建普通用户

CREATE USER name IDENTIFIED BY 'ssapdrow';

27.更改普通用户密码

SET PASSWORD FOR name=PASSWORD('fdddfd');

28.查看name用户权限

SHOW GRANTS FOR name;

29.脚本中执行mysql命令

mysql -uuser -ppasswd -e"show databases"

echo "show databases"|mysql -uuser -ppassword

以下是执行大量mysql语句采用的方式

mysql -uuser -hhostname -ppasswd <<EOF

mysql语句

30 time_zone
mysql> set time_zone='SYSTEM';
Query OK, 0 rows affected (0.00 sec)

mysql> ^C
mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | EDT    |
| time_zone        | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值