甲骨人-MySQL网络课-day02


                            
=======================================================================================
1、MySQL用户及权限基本管理
1.1用户是干嘛用的?
Linux:用户是用来,登陆系统、管理系统中的“对象”(文件)
MySQL:用户是用来,登陆MySQL数据库、管理数据库对象(库、表)

1.2 用户管理
1.2.1 用户的定义
    user1@'白名单':user1这个用户能从《哪个地址》登录到mysql
    (1)user1@'10.0.0.2' 
    (2)user1@'10.0.0.%'
    (3)user1@'%'
    (4)user1@'10.0.0.0/255.255.255.0'
    (5)user1@'aaa.com'
    (6)user1@'10.0.0.5%'
1.2.2 用户的创建
     create user user1@'10.0.0.%' identified by '123';
     drop user user1@'10.0.0.%';
1.3 用户权限定义
    grant  权限   on  对象  to 用户  identified by '123';

权限:
ALL:包含了所有SQL语句都可以执行,除了grant revoke等授权相关
replication slave
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

grant SELECT,INSERT, UPDATE, DELETE, CREATE, DROP on 

对象:
*.*         ------>所有库和表
jiaguren.*  ------>单个库下所有表
jiaguren.t1 ------>单库下的单表


grant all on *.*  to root@'10.0.0.%' identified by '123'; 
show grants for root@'10.0.0.%';
revoke drop on *.* from root@'10.0.0.%';
select user,host,authentication_string from mysql.user;
mysql -uroot -p123 -h 10.0.0.200
    
2、MySQL的连接管理

2.1 MySQL支持的连接方式
socket:仅限于本地登录
mysql -S /tmp/mysql.sock
 
tcpip:
mysql -uroot -p123 -h 10.0.0.200 -P3306

2.2 mysql命令常用参数

-u  
-p 
-S 
-h 
-P 
-e
[root@temp ~]# mysql -uroot -p123 -h 10.0.0.200 -P3306 -e "select user,host,authentication_string from mysql.user;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+---------------+-----------+-------------------------------------------+
| user          | host      | authentication_string                     |
+---------------+-----------+-------------------------------------------+
| root          | localhost |                                           |
| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys     | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| root          | 10.0.0.%  | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+---------------+-----------+-------------------------------------------+


3、MySQL的启动和关闭
启动过程
mysql.server  ------>mysqld_safe ------>mysqld
systemctl start mysqld   ---》  mysqld.service ---->mysqld

4、MySQL数据库配置文件详解
4.1 mysql参数文件默认读取顺序
/etc/my.cnf 
/etc/mysql/my.cnf 
/usr/local/mysql/etc/my.cnf 
~/.my.cnf     

以上文件中如果有重复的参数,以最后一个读取的文件配置为准。
所以我们建议,对于单实例环境,只留一个配置文件。

自己定制参数文件位置,不读取默认的文件
--defaults-file=/etc/my.cnf
4.2 参数文件基本结构
[server]    -----》所有服务器程序都应用以下配置
[mysqld_safe] 
[mysqld]

[client]    -----》所有的客户端程序
[mysql] 
[mysqladmin] 
[mysqldump] 
socket=/tmp/mysql.sock 

4.3 参数文件简单例子 
[mysqld]
basedir=/data/mysql 
datadir=/data/mysql/data 
socket=/tmp/mysql.sock 
log_error=/data/mysql/data/mysql.err
user=mysql
port=3306
server_id=6
log_bin=/data/mysql/mysql-bin
[mysql]
socket=/tmp/mysql.sock 

chown -R mysql.mysql /data/mysql
/etc/init.d/mysqld restart


5、多实例简介及配置
单进程多线程的工作模式
分布式架构


5.1 路径规划

mkdir /data/330{7..9}/data -p


5.2 建库
mysqld --initialize-insecure --basedir=/data/mysql --datadir=/data/3307/data --user=mysql

mysqld --initialize-insecure --basedir=/data/mysql --datadir=/data/3308/data --user=mysql

mysqld --initialize-insecure --basedir=/data/mysql --datadir=/data/3309/data --user=mysql

 chown -R mysql.mysql /data/330*
 
5.3 配置文件准备

 cp /etc/my.cnf /data/3307/
 cp /etc/my.cnf /data/3308/
 cp /etc/my.cnf /data/3309/

vim /data/3307/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/data/mysql.err
user=mysql
port=3307
server_id=7
log_bin=/data/3307/mysql-bin

vim /data/3308/my.cnf 
[mysqld]
basedir=/data/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/data/mysql.err
user=mysql
port=3308
server_id=8
log_bin=/data/3308/mysql-bin

vim /data/3309/my.cnf 
[mysqld]
basedir=/data/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/data/mysql.err
user=mysql
port=3309
server_id=9
log_bin=/data/3309/mysql-bin


5.4  启动并连接测试

 mysqld_safe --defaults-file=/data/3307/my.cnf &
 mysqld_safe --defaults-file=/data/3308/my.cnf &
 mysqld_safe --defaults-file=/data/3309/my.cnf &

 netstat -lnp|grep 330
 
 [root@temp data]# mysql -S /data/3307/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 7     |
+---------------+-------+
[root@temp data]# mysql -S /data/3308/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 8     |
+---------------+-------+
[root@temp data]# mysql -S /data/3309/mysql.sock -e "show variables like 'server_id'"
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 9     |
+---------------+-------+
[root@temp data]# 

=======================
第三章 mysql SQL语句
1、mysql接口自带命令

1.1、\h 或 help 或 ?
1.2、\G
1.3、\T 或 tee
1.4、\c 或 CTRL+c
1.5、\s 或 status
1.6、\. 或 source
1.7、\u 或use

SQL:
DDL
DML
DCL


 

转载于:https://my.oschina.net/u/3862440/blog/2251462

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值