关于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

posted @ 2019-03-08 15:35  贾迪123  阅读(584)  评论(0编辑  收藏  举报