开启远程登录:

  方法I

    登录mysql(我是用远程控制Linux服务器,相当于在服务器本机登录mysql了),然后输入:

    mysql>grant all privileges on *.* to admin@localhost identified by 'something';添加一个用户admin并授权通过本地机(localhost)访问,密码"something"。

    mysql>grant all privileges on *.* to admin@"%" identified by 'something';添加一个用户admin并授权可从任何其它主机发起的访问(通配符%)。使用这一条语句即可。

  方法II

    mysql>insert into user values('%','admin',password('something'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y'); 

  with grant option表示新增的该账号是否有grant权限,即是否可以通过其创建新账号。

  非常不建议给用户开放全部权限,最好给新用户仅开放所需要的相关权限。一般给开发人员SELECT,UPDATE,DELETE,INSERT,CREATE,EXECUTE权限并且只在某些网段内访问

  FLUSH  PRIVILEGES;刷新权限 

修改端口:

  修改/etc/my.cnf
  添加port=3308
  修改后如下
  [mysqld]
  datadir=/var/lib/mysql
  socket=/var/lib/mysql/mysql.sock
  port=3308
  user=mysql
  # Disabling symbolic-links is recommended to prevent assorted security risks
  symbolic-links=0
  default-character-set=utf8
  [mysqld_safe]
  log-error=/var/log/mysqld.log
  pid-file=/var/run/mysqld/mysqld.pid

  然后重启mysql
  如果你开启了selinux,mysql会无法启动,你会在日志中看到以下错误

  [ERROR] Can't start server: Bind on TCP/IP port: Permission denied
  [ERROR] Do you already have another mysqld server running on port: 3308

  那么,你需要关掉selinux,不想重启服务器,而关掉selinux,使用以下命令

  /usr/sbin/setenforce 0

  
  修改linux下mysql端口时候报错:

  Can't start server: Bind on TCP/IP port: Permission denied

  需要修改: vi /etc/selinux/config

  SELINUX=disabled

  然后重启服务器即可

开放防火墙端口:

  #/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
  #/etc/rc.d/init.d/iptables save 保存:

  # service iptables restart 重启生效

  当然除了开放3306端口外,还有一个方法就是关闭防火墙,命令为:

  # service iptables stop

  不过,不推荐这种做法,因为这会引起安全性问题。

 posted on 2017-02-06 11:10  丶汤女  阅读(877)  评论(0编辑  收藏  举报