增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to 'user1'@'localhost' Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
grant all privileges on *.* to 'alex'@'%' identified by "alex";
刷新权限
FLUSH PRIVILEGES;
查询用户权限
show grants for alex@'%';
字符集问题
查看默认编码格式:
show variables like "%char%";
设置编码格式:
SET character_set_client='utf8';
SET character_set_connection='utf8';
SET character_set_server='utf8';
查看数据库test的编码格式:
show create database test;
设置数据库test的编码格式:
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
查看数据表testTable的编码格式:
show create table testTable;
设置数据表testTable的编码格式:
ALTER TABLE `testTable` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
禁止用户远程登陆
use mysql; update user set host = "localhost" where user = "root" and host = "%"; flush privileges;
查看错误日志位置
show variables like "log_error";
版本升级
https://www.rootusers.com/how-to-upgrade-mariadb-version-10-1-to-10-3/
数据库启动命令汇总
1、使用mysqld启动、关闭MySQL服务 mysqld是MySQL的守护进程,我们可以用mysqld来启动、关闭MySQL服务。 2、使用mysqld_safe启动、关闭MySQL服务 mysqld_safe是一个脚本,一个非常安全的启动、关闭MySQL服务的脚本。它实际上也是调用mysqld来启动、关闭MySQL服务。 3、使用service 启动、关闭MySQL服务 service mysql stop 4、使用/etc/init.d/mysql启动、关闭MySQL服务 /etc/init.d/mysql也是一个脚本,它调用mysqld_safe脚本来启动MySQL服务。
资源限制
对单个账户可以设置的资源限制有
1. 每小时查询次数
2. 每小时更新次数
3. 每小时连接次数
4. 同时在线的连接个数
对应:
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
举例:
grant all privileges on *.* to 'name'@'host' identified by "password" WITH MAX_QUERIES_PER_HOUR 20 MAX_UPDATES_PER_HOUR 10 MAX_CONNECTIONS_PER_HOUR 5 MAX_USER_CONNECTIONS 2;
当账户的限制非0时则会给资源使用计数。
Server运行时给每个账户的使用资源计数,如果达到了连接次数限制则下一个连接将会被拒绝。
同样地若达到了查询、修改等次数限制则会产生一个error信息。
每个账户各自进行资源计数而不是针对客户端。可以全局重置当前的每小时使用的资源计数,也可以针对指定的账户重置计数:
1. 将所有账户计数器清零使用FLUSH USER_RESOURCES语句。重新加载权限表语句也会清零计数器(FLUSH PRIVILEGES或mysqladmin reload命令)
2. 给特定账户清零计数器使用GRANT USAGE语句指定一个与原来一样的限制次数
计数器清零对于max_user_connections无效,系统重启会将所有的计数器清零。
系统查询
#uptime 可以查看系统的运行时间 show global status like 'uptime'; #统计数据库连接数 select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;