Mysql变量、创建用户授权
变量:系统变量和自定义变量
系统变量:
系统定义好的变量:系统变量是用来控制服务器表现的:如autocommit,auto_increment_increment等
查看系统变量
SHOW VARIABLES;
查看具体变量值:
SELECT @@变量名;
SELECT @@VERSION,@@autocommit;
修改系统变量
分为2种:
会话级别:
set autocommit=0;
set @@变量名 = 值;
全局级别:当前服务生效,对所有客户端都生效
set GLOBAL autocommit=0;
自定义变量:
set @name = 'James Elephant';
-- =很多地方默认用作比较符号处理,:= 用作赋值
set @age :='18';
-- 查看变量名
SELECT @name;
SELECT @age;
-- mysql允许从数据表中获取数据,然后赋值给变量:两种方式
-- 方案一:边赋值边查看结果
SELECT @变量名 := 字段名 FROM 数据源; -- 从字段中取值赋值给变量
SELECT @name := person_name,person_name FROM Queue;
SELECT @name;
-- 方案二:只有赋值不看结果:要求很严格:数据记录最多只允许获取一条:mysql不支持数值
SELECT 字段列表 FROM 表名 INTO 变量列表;
SELECT person_name,weight FROM Queue WHERE person_id = 3 INTO @name,@weight;
SELECT @name,@weight;
所有自定义变量都是会话级别,当前客户端当次连接有效
所有自定义变量不区分数据库(用户级别)
root创建用户,授权用户访问数据库权限
root登录mysql, 用户:hainiu 数据库:hainiutest
CREATE USER 'hainiu'@'%' IDENTIFIED BY '12345678'; create database hainiutest default charset utf8 collate utf8_bin; grant all privileges on hainiutest.* to 'hainiu'@'%' identified by '12345678'; flush privileges; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; 改认证