hitl 发表于 2018-10-11 08:38:15

mysql配置——登陆

  mysql登录方式
  ① socket
  # mysql -uroot -p123456 -S /tmp/mysql.sock
  解释说明:
  这种没有指定ip没有指定host的形式就是socket形式;假如本地有多个mysql,就可以使用这种形式去登录;
  -S 指定sock文件路径;
  或ps aux|grep mysqld查看- -socket=路径,做软链接再默认指向的目录下;
  ② tcp/ip
  # mysql -uroot -p123456 -hlocalhost -P3306
  解释说明:
  -P 服务器监听的mysql端口;
  -p 密码
  -h 指定user表中存在的user与host;指定远程主机ip;(localhost也就是127.0.0.1)
  ###################-h指定自己机器的ip来做此实验####################
  # mysql -uroot -p123456 -h192.168.219.128 -P3306
  ERROR 1130 (HY000): Host '192.168.219.128' is not allowed to connect to this MySQL server
  ## 错误提示不能登录,那就测一下有没有监听此ip的3306端口
  # telnet 192.168.219.128 3306
  Trying 192.168.219.128...
  Connected to 192.168.219.128.
  Escape character is '^]'.
  HHost '192.168.219.128' is not allowed to connect to this MySQL serverConnection closed by foreign host.
  解释说明:
  虽然通了,但是还是不允许连接,是因为还没有给它授权。上面的localhost能连接登录,是因为授权了。
  ## 给192.168.219.128授权,让其登录
  # mysql -uroot -p123456 -hlocalhost -P3306

  mysql> grant all on *.* to 'root'@'192.168.219.128'>  Query OK, 0 rows affected (0.00 sec)
  解释说明:
  *.*前面的*是所有库,后面的*是所有表;
  @后面的ip呢,其实是指的客户端的ip,你给谁授权,这就写谁,只不过,在这用的是自己的机器作的实验;
  ## 查看一下是否授权成功
  mysql> use mysql;
  mysql> select * from user where host='192.168.219.128'\G;   ## \G列式显示,更清晰
  *************************** 1. row ***************************
  Host: 192.168.219.128
  User: root
  Password: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
  ## 授权成功后,用此ip登录mysql
  mysql> quit
  # mysql -uroot -p123456 -h192.168.219.128 -P3306
  mysql>
  ## 查看当前登录用户
  mysql> select user();
  +----------------------+
  | user()               |
  +----------------------+
  | root@192.168.219.128 |
  +----------------------+
  1 row in set (0.00 sec)
  ######################################################################

页: [1]
查看完整版本: mysql配置——登陆