mysql常用bin

mysqld

启动一个守护进程,需要指定配置文件(默认/etc/my.cnf),会读取配置文件中的[mysqld]实例配置,例如:

[mysqld]
port=3306
user=mysql
datadir=/var/lib/mysql-instance/default/data
log-error=/var/lib/mysql-instance/default/mysqld.log
socket=/var/lib/mysql-instance/default/mysql.sock
pid-file=/var/lib/mysql-instance/default/mysqld.pid

我需要使用这份配置文件启动一个守护进程来管理数据库,先初始化必要表数据:

sudo mysqld --defaults-file=/etc/my.cnf --initialize

启动一个守护进程:

sudo mysqld --defaults-file=/etc/my.cnf --daemonize

可以通过pidof mysqld或者lsof -i:3306,检查是不是启动成功。

mysql

先找出初始化的root临时密码:

sudo grep "password" /var/lib/mysql-instance/default/mysqld.log

然后登陆,密码最好直接粘贴:

mysql -h127.0.0.1 -P3306 -uroot -p

初次登陆,把密码改了:

alter user user() identified by "123456";

每次登陆都要帐号密码挺烦的,在my.cnf加入:

[mysql]
host=127.0.0.1
port=3306
user=root
password=123456

然后exit后试下直接mysql就登陆了,下面介绍的命令同理,都需要帐号密码。

mysqladmin

和mysql一样的,可以在my.cnf加入[mysqladmin]实例配置免掉帐号密码输入,下面只介绍几个常用指令:

  • version:服务器版本。
  • status:服务器状态。
  • processlist:客户端连接列表。
  • kill:踢指定客户端连接。
  • password:修改密码。
  • shutdown:正常关闭服务器。

mysqldump

用来导出表结构和数据的:

mysqldump 数据库名 [表1 表2 ...] [-dt] > dump.sql
# -d,只导表结构,不导数据
# -t,只导数据,不导表结构
# 导入数据
mysql 数据库名 < dump.sql

[client]

上面介绍的几个客户端程序都需要输入主机,端口和帐号密码才能使用,然后每个命令在my.cnf配置自己的实例,好多重复的。这样可以配置[client]来给所有客户端程序提供参数。

你可能感兴趣的:(数据库)