mysql基础命令及配置

mysql的配置和命令在windows和linux下基本相似,差别主要在启动mysql:
在windows下,mysql启动的命令有:
mysqld
mysqld-nt
mysql-max
mysql-max-nt
差别可以参考 http://www.devside.net/guides/windows/mysql
执行命令mysqld --verbose --help,看到
Usage: mysqld [OPTIONS]
NT and Win32 specific options:
  --install                     Install the default service (NT)
  --install-manual              Install the default service started manually (NT)
  --install service_name        Install an optional service (NT)
  --install-manual service_name Install an optional service started manually (NT)
  --remove                      Remove the default service from the service list (NT)
  --remove service_name         Remove the service_name from the service list (NT)
  --enable-named-pipe           Only to be used for the default server (NT)
  --standalone                  Dummy option to start as a standalone server (NT)
这些就是NT特有的了, 可以看出mysql可以包装成windows服务来方便管理其运行。
--standalone,非服务的独立运行。
--enable-named-pipe,解释是:allows connections to other NT machines without being dependant on a specific network layer (TCP/IP or IPX);看了关于官方参考手册,才知道是命名管道,专用于nt机器之间的网络通信,不同于tcp/ip协议。
这是以mysqld启动加这个参数是不行的,必须以mysql-max或者mysql-max-nt命令启动才能加这个参数。
因此,windows启动mysql,分为两类:
服务方式启动mysql,net start mysql服务名
独立运行,mysqld --standalone --console
加上console参数,能够看到控制台消息。

以下以linux为环境
命令:
检查mysql是否运行:sudo netstat -tap | grep mysql

启动:sudo /etc/init.d/mysql start
关闭:sudo /etc/init.d/mysql stop or mysqladmin -uroot -p shutdown
重启:sudo /etc/init.d/mysql restart

登入命令: mysql -u root -p123456
(-p后面跟着密码,不能有空格,但是-u root和-uroot 都可以)

更改root口令: mysqladmin -u root -p password 123456

开启远程访问:
修改文件/etc/mysql/my.cnf
#bind-address= 127.0.0.1
去掉前面的注释,变成bind-address= 127.0.0.1

创建用户:
create user test identified by 'test-password';

创建数据库并且指定编码集:
create database testdb default character set utf8 default collate utf8_general_ci;

分配用户权限:
grant all on testdb.* to test@localhost identified by 'test-password';
* 注意:要使用JDBC从远程连接MySQL,就必须正确设置test用户权限,MySQL的访问权限由用户名,客户端机器名和口令共同组成,上例表示仅允许test用户在本机(localhost)通过口令连接MySQL。

my.conf配置:
中文支持:
[mysqld]配置节中加入
# 设置默认的字符集UTF-8:
    character-set-server=utf8
    collation-server=utf8_general_ci
    default-character-set=utf8

此时,服务端编码已经设置完成,查看编码:show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
接着在连接的时候,需要指定编码也是utf8;
mysql -uroot -p --default-character-set=utf8
再查看
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
好了,都是utf8了

事实上,客户端的编码设定也可以在my.cnf中做一个默认的设置:
[client]配置节添加:
default-character-set=utf8
另外在[mysqld]中追加对connection的编码设定
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

数据库引擎默认设置
# 设置默认为INNODB表,支持事务:
default-storage-engine=INNODB

更详细的配置参考:
http://hi.baidu.com/%CA%AB%D5%B9/blog/item/42f033fa3d4b0d8b9f5146e4.html

你可能感兴趣的:(linux,mysql,windows,配置管理,网络协议)