mysql基础命令及配置

mysql的配置和命令在windows和linux下基本相似,差别主要在启动mysql:
在windows下,mysql启动的命令有:
mysqld
mysqld-nt
mysql-max
mysql-max-nt
差别可以参考[url]http://www.devside.net/guides/windows/mysql[/url]
执行命令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参数,能够看到控制台消息。

[i]以下以linux为环境[/i]
[b]命令:[/b]
检查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。

[b]my.conf配置:[/b]
中文支持:
[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

更详细的配置参考:
[url]http://hi.baidu.com/%CA%AB%D5%B9/blog/item/42f033fa3d4b0d8b9f5146e4.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值