美文网首页
MySQL 基本管理

MySQL 基本管理

作者: 你好_请关照 | 来源:发表于2019-06-04 22:30 被阅读0次

一、MySQL用户和权限管理:

1、MySQL中用户的定义:

格式:user@地址域

xiaoxi@'%'
xiaoxi@'10.0.0.%'
xiaoxi@'10.0.0.0/255.255.254.0'
xiaoxi@'10.0.0.5%'
xiaoxi@'10.0.0.55'
xiaoxi@'db01'
root@'localhost'

2、用户管理

创建用户
mysql> create user xiaoxi@'10.0.0.%' identified by '123456';
修改用户密码
mysql> alter user xiaoxi@'10.0.0.%' identified by '123';
删除用户
mysql> drop user xiaoxi@'10.0.0.%';
查看用户
mysql> select user,host,authentication_string from mysql.user;


3、 权限管理

权限:
SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE

ALL : 以上所有权限,一般是普通管理员拥有的
with grant option:超级管理员才具备的,给别的用户授权的功能

作用对象 作用范围
*.* 所有库和表
wordpress.* WordPress库下的所有表
wordpress.user wordpress库下的user表

MySQL8.0版本之后就不能再授权的时候更改密码了,只能一步一步的来了
格式: grant 权限 on 作用对象(库或表) to 用户 identified by '123';

授权案例

1)、需求1:开一个用户,允许wordpress用户,通过10网段登录管理wordpress库下的所有表,密码是123.

mysql> grant all on wordpress.* to wordpress@'10.0.0.%' identified by '123';
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> 

2)、授权一个应用用户app,能够通过10网段,应用app下所有表,密码123。

mysql> grant select,insert,update on app.* to app@'10.0.0.%' identified by '123';

3)、查看用户权限语句

mysql> show grants for root@'localhost'

4)、收回用户的权限

mysql>revoke drop,delete on *.* from xiaoxi@'10.0.0.%'; 

4、连接接管理:Linux 下连接mysql 有两种方式

1、本地套接字(socket)连接(默认是省略 -S参数)
(a)、只允许本地登录使用
(b)、登录的用户必须提前创建本地用户如:xxx@localhost

[root@db01 ~]# mysql -uroot -p123 -S /tmp/mysql.sock

2、TCP/IP (网络IP+port)

[root@db01 ~]# mysql -uroot -p123 -h 10.0.0.52 -P 3306

5、MySQL客户端功能

5.1 登录MySQL后使用help命令进行查看帮助

客户端命令 说明
? 相当于help 命令
ctrl+L 清理屏幕
exit 相当于ctrl+D
\ d 定义结尾符号
\G 结尾用 使用\G ,以列方式显示内容(表中)
\g 结尾加上\g,表示忽略结束符
system 使用系统中的一些命令:如mysql>system vim /etc/passwd
use use database ,进入某个库中
() 结尾加(),查看当前库 如:mysql>select database()
source 将库或者表导入mysql中

5.2 mysql 命令在客户端使用 使用-e 参数

mysql客户端参数 说明
-u 指明登录的用户名
-p 指明登录使用的密码
-P 指明端口
-h 指明登录的地址
-e 在命令行使用sql语句,配合 -u -p -P是一个
-S 指明sock文件位置
< 像数据库中导入库或者表

使用-e参数举例

[root@db01 ~]# mysql -uroot -p123456 -e "show databases;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
| world              |
+--------------------+
[root@db01 ~]# 

5.3 向数据库中导入库:

命令行中:

[root@DB02_52 ~]# mysql -uroot -p123 </root/word.sql 

mysql 客户端下:

mysql>source  /root/word.sql 

6 、mysqladmin使用

mysqladmin --help 使用帮助
修改密码:mysqladmin -uroot -p123 password 123456 修改mysql数据库中root用户的密码为123456

7、mysqdump(主要用来做备份使用) 命令的使用

mysqldump -uroot -p123456 -A --master-data=2 --single-transaction -R --triggers -E >/tmp/full.sql

8、mysql配置文件

8.1 mysql配置文件读取顺序
mysql默认按照以下顺序来读取配置文件,如果以下配置文件里有冲突,最终以最后读取配置文件为准。

[root@db01 ~]# mysql --help --verbose | grep my.cnf
                      order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 
[root@db01 ~]# 

8.2 mysql配置文件参数

[root@DB02_52 /data/mysql]# cat /etc/my.cnf 
[mysqld]                       #mysql服务端标签,影响的是mysql的启动,还可以用[mysql_safe]
basedir=/application/mysql     #软件目录的存放位置
datadir=/data/mysql            #数据目录的存放位置
socket=/tmp/mysql.sock         #服务启动时生成的sock文件存放位置,本地客户端连接使用
log_error=/data/mysql/mysql.log#错误日志的存放位置
server_id=6                    #服务的ID号,主要实在mysql主从复制时使用
port=3306                      #mysql服务的端口号
log_bin=/data/mysql/mysql-bin  #二进制文件存放位置
user=mysql                     #mysql服务启动时的用户
[mysql]                        #mysql 客户端标签
socket=/tmp/mysql.sock         #客户端连接的sock文件的位置
[root@DB02_52 /data/mysql]# 

8.3 其它的几个参数
在配置文件中(服务端行)加入skip_name_resolve 表示跳过 本地hosts文件解析
配置文件中加入 prompt=3306[\d]>

[root@DB02_52 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

3306[(none)]>

相关文章

网友评论

      本文标题:MySQL 基本管理

      本文链接:https://www.haomeiwen.com/subject/xatkxctx.html