• 关于mysql 添加用户,删除用户与授权以及修改密码修改端口启动停止命令


    启动MySQL服务:sudo /usr/local/mysql/support-files/mysql.server start

    停止MySQL服务:sudo /usr/local/mysql/support-files/mysql.server stop
    重启MySQL服务:sudo /usr/local/mysql/support-files/mysql.server restart
    一、创建用户:

    命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';

             例子: CREATE USER 'xiaoju'@'localhost' IDENTIFIED BY '123456';

    PS:username - 你将创建的用户名,

    host - 指定该用户在哪个主机上可以登陆,此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录,如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录;也可以指定某台机器可以远程登录;

    password - 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器。

    二.授权:

    命令:GRANT privileges ON databasename.tablename TO 'username'@'host' IDENTIFIED BY "password"

    PS: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.

           例子:GRANT SELECT, INSERT ON simenv.* TO 'xiaoju'@'localhost' IDENTIFIED BY "123456";

                  上述命令代表xiaoju用户加上123456可以对simenv进行 SELECT, INSERT

           

                   将'host'改为'%'则是任意机器都可以登陆。

                  然后需要修改一些配置文件

                  $sudo gedit /etc/mysql/my.cnf

                  老的版本中

                  >skip-networking          =>          # skip-networking

                  新的版本中

                   >bind-address=127.0.0.1 => bind-address= 你机器的IP

          这样就可以允许其他机器访问MySQL了。

    mysql控制台远程登陆命令

             mysql -h IP地址 -P 端口 -u 用户名 -p密码

             例子:mysql -h 10.89.247.42 -P 8036 -u xiaoju -p123456

    三.创建用户同时授权

    mysql> grant all privileges on simenv.* to dusesim@localhost identified by '123456';
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    PS:必须执行flush privileges; 

    否则登录时提示:ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES ) 

    四.设置与更改用户密码

     

    命令:SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

     

          例子: SET PASSWORD FOR 'xiaoju'@'localhost' = PASSWORD("123456");

     

    五.撤销用户权限

     

          命令: REVOKE privilege ON databasename.tablename FROM 'username'@'host';

     

         说明: privilege, databasename, tablename - 与用户授权部分定义一致.

     

          例子: REVOKE SELECT ON simenv.* FROM 'xiaoju'@'localhost';

     

    PS: 假如你在给用户'xiaoju'@'localhost''授权的时候是这样的(或类似的):GRANT SELECT ON simenv.user TO 'xiaoju'@'localhost', 则在使用REVOKE SELECT ON *.* FROM 'xiaoju'@'localhost';命令并不能撤销该用户对simenv数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'xiaoju'@'localhost';则REVOKE SELECT ON simenv.user FROM 'xiaoju'@'localhost';命令也不能撤销该用户对simenv数据库中user表的Select 权限.

     

          具体信息可以用命令SHOW GRANTS FOR 'xiaoju'@'localhost'; 查看.

     

    六.删除用户

     

          命令: DROP USER 'username'@'host';

                  例子:DROP USER 'root'@'host';

     

    七.查看用户的授权

     

    mysql> show grants for root@localhost;
    +---------------------------------------------+
    | Grants for root@localhost |
    +---------------------------------------------+
    | GRANT USAGE ON *.* TO 'root'@'localhost' |
    | GRANT INSERT ON `simenv`.* TO 'root'@'localhost' |
    +---------------------------------------------+
    2 rows in set (0.00 sec)

     

    PS:GRANT USAGE:mysql usage权限就是空权限,默认create user的权限,只能连库,啥也不能干

     

     

    八.mysql查看并修改默认端口号

    使用命令查看端口号: show global variables like 'port';

     
     
    修改端口
    编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。
    修改mysqld中的port信息即可
    root@test etc]# vi my.cnf
    [mysqld]
    port=3506
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
     
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

    修改完需要重启一下mysql

    sudo /usr/local/mysql/support-files/mysql.server restart

  • 相关阅读:
    原创 记录一次线上Mysql慢查询问题排查过程
    原创 |我是如何解决POI解析Excel出现的OOM问题的?
    FastJson序列化时候出现了$ref?还不赶紧学习下
    fastjson自定义序列化竟然有这么多姿势?
    SpringBoot2.0整合WebSocket,实现后端数据实时推送!
    SpringMVC+Mybatis 如何配置多个数据源并切换?
    异常: java.security.InvalidKeyException: Illegal key size
    一分钟带你了解下MyBatis的动态SQL!
    一分钟带你了解下Spring Security!
    历时七天,史上最强MySQL优化总结,从此优化So Easy!
  • 原文地址:https://www.cnblogs.com/jiadi321/p/10496174.html
Copyright © 2020-2023  润新知