甲骨人-MySQL网络课-day02


                            
=======================================================================================
一、MySQL用户及权限基本管理
1.1用户是干吗用的?
Linux:用户是用来,登录系统、管理系统中的“对象”(文件)
MySQL:用户是用来,登录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';sql

权限:
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 vim

对象:
*.*         ------>全部库和表
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
    
二、MySQL的链接管理session

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 |
+---------------+-----------+-------------------------------------------+socket


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

四、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.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语句
一、mysql接口自带命令

1.一、\h 或 help 或 ?
1.二、\G
1.三、\T 或 tee
1.四、\c 或 CTRL+c
1.五、\s 或 status
1.六、\. 或 source
1.七、\u 或use

SQL: DDL DML DCL

相关文章
相关标签/搜索