MySQL介绍和使用

本文介绍了MySQL的用户权限用户密码的设置和找回方式

基本配置

[mysql]
default-character-set=utf8 # 设置客户端默认字符集

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/var/data/mysql
character-set-server=utf8 # 设置服务端默认字符集

查看连接数

# 查看连接,如果是root用户,可以看到所有的连接;普通用户只能看到自己的连接
show processlist;

# 查看全部连接
show full processlist;

# 查看最大连接数
show variables like 'max_connections';

# 修改最大连接数
set global max_connections=500;

配置文件(my.cnf)修改方式:

[mysqld]
max_connections=500

MySQL找回root用户密码

  • 修改my.cnf文件,在[mysqld]进程配置文件中,增添:skip-grant-tables,保存并重启MySQL服务。

  • 运行:${MYSQL_HOME}/bin/mysql -p,提示输入密码是点回车键直接进入,修改root密码:

update mysql.user set password=password('rootpassword') where user='root'
  • 修改my.cnf文件,在[mysqld]进程配置文件中,删除:skip-grant-tables,保存并重启MySQL服务。

  • 运行:${MYSQL_HOME}/bin/mysql -u root -p rootpassword; 重新登录MySQL即可

MySQL用户及权限

  • 创建用户
create user 'username'@'host' idendified by 'password';
create user 'test1'@'%' idendified by '111111';
  • 设置用户密码
set password for 'test1'@'%'=password('222222');
  • 授权
grant privileges on databasename.tablename to 'username'@'host';
-- 给test1用户赋dbtest1数据库中tuser表的新增、修改及查询权限
grant insert,update,select on dbtest1.tuser to 'test1'@'%';
-- 给test1用户赋dbtest1数据库的所有权限
grant all on dbtest1.* to 'test1'@'%';
-- 设置该用户可以给其它用户授权
grant privileges on databasename.tablename to 'username'@'host' with grant option;
  • 查看用户权限
show grants for 'test1'@'%';
  • 撤销用户权限
revoke privilege on databasename.tablename from 'username'@'host';
revoke insert,update on dbtest1.* from 'test1'@'%';
  • 删除用户
drop user 'username'@'host';

字符串函数

  • 从左截取字符串

left(str, length)

select left(c_name, 2) from t_user;
  • 从右截取字符串

right(str, length)

select right(c_name, 2) from t_user;
  • 截取字符串

substring(str, postion, length)

select substring(c_name, 2, 2) from t_user;
  • 按关键字截取字符串

substring_index(str, delim, count)

select substring_index(c_name, '.', 2) from t_user;

Windows7下安装MySQL服务

mysqld --install MySQL --defaults-file="D:\Develop\MySQL\mysql-5.6.32-winx64\my.ini"