/ 中存储网

MySQL命令行自动登录的设置方法

2014-07-13 15:55:19 来源:中存储网

  MYSQL命令行工具自动登录的方法

  1. 需求提出

  由于在linux 环境下,经常需要使用mysql(command-line tool) 终端连接到MYSQL DB服务。

  其中大致的语法如下:

  mysql [options] db_name

  比较重要的option 参数有:

  --database=db_name, -D db_name

  --host=host_name, -h host_name

  --password[=password], -p[password]

  --port=port_num, -P port_num

  --user=user_name, -u user_name

  下面是一个调用例子:

  mysql -h10.6.28.90 -uroot -Dtest -P3306 -p

  每次登录的时候都需要输入这么多参数,严重的影响工作效率,能否有比较简单的方式呢?

  2. 解决方法

  在linux 操作系统自己的工作目录下,一般是 "/data/你的用户名称" 或者 "/home/你的用户名称" 下面建立一个

  .my.cnf 的文件,配置内容如下:

  [client]

  user=root

  port=3306

  host=10.6.28.90

  database=test

  database=test

  password=MYsql3306

  最后,把.my.cnf 的其他文件属性都去掉,只保留其属主可读属性,可见下面的参考。

  mark@PAY:~> cat .my.cnf

  [client]

  user=root

  port=3306

  host=10.6.28.90

  database=test

  password=MYsql3306

  mark@PAY:~> ls -al .my.cnf

  -r-------- 1 mark users 78 2013-08-13 10:52 .my.cnf

  3. 测试结果

  现在直接在工作目录下输入 mysql,即可直接连接到指定数据库服务的指定数据库,再也不用担心输入密码等登录信息了。

  4. 工作原理

  mysql 命令行启动的时候,会读取配置文件

  Default options are read from the following files in the given order:

  /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

  这个可以使用mysql 的系统命令;

  mysql/bin/my_print_defaults

  查看。

  如果上面的目录都存在文件,那最后一个文件的配置会覆盖前一个文件的配置。

  所以,优先级别最低的 ~/.my.cnf 文件配置最终被使用,顺利的登录。