常用命令

v5.0版本-账户管理

  1. #1. 初始化admin密码
  2. mysqladmin -u root password ab12
  3. #2. 更改admin密码
  4. mysqladmin -u root -p ab12 password djg345
  5. #2. 新建用户并授权
  6. # -a).增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
  7. grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
  8. # -b).增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机)
  9. grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
  10. grant select on test.* to read_yy@"%" Identified by "123";
  11. grant select on jpdata.* to read_yy@"%" Identified by "123";
  12. grant ALL PRIVILEGES on yy_userinfo.* to zz_userinfo@"%" Identified by "123";
  13. # -c).如果你不想test2有密码,可以再打一个命令将密码消掉
  14. grant select,insert,update,delete on mydb.* to test2@localhost identified by "123";
  15. #3. 更改用户权限
  16. update mysql.user set password=password('新密码') where User="testuser" and Host="localhost";
  17. #4. 更改用户密码
  18. update mysql.user set password=password('新密码') where User="testuser" and Host="localhost";
  19. #5. 删除用户
  20. Delete FROM user Where User='test' and Host='localhost';
  21. #6. 禁用admin用户
  22. #7. 查询所有用户及权限
  23. SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
  24. #8. 刷新权限
  25. FLUSH PRIVILEGES;

创建数据库
  1. CREATE DATABASE IF NOT EXISTS jumpserver DEFAULT CHARACTER SET utf8;

密码重置
  1. /etc/init.d/mysqld stop
  2. safe_mysqld --skip-grant-tables --user=root &
  3. update mysql.user set password=PASSWORD('新密码') where User='root';
  4. flush privileges;

安装配置

docker快速启动

docker run --name mysql-gmtools \
-p 13306:3306 \
-v /opt/db/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.14 \
--character-set-server=utf8mb4 \
--innodb_buffer_pool_size=1600M \
--max-allowed-packet=33554432 \
--sql_mode=STRICT_ALL_TABLES \

#import
docker exec -i mysql-gmtools sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < ./your.sql

一些问题

为何系统上有两个mysql进程

image.png

mysqld 与 mysqld_safe 的区别 直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。它通常做如下事情:

  1. 检查系统和选项。

  2. 检查MyISAM表。

  3. 保持MySQL服务器窗口。

  4. 启动并监视mysqld,如果因错误终止则重启。

  5. 将mysqld的错误消息发送到数据目录中的host_name.err 文件。

  6. 将mysqld_safe的屏幕输出发送到数据目录中的host_name.safe文件。