2008年12月12日星期五

mysql初步记录

1 在ubuntu上一般默认就安装好mysql,可以在命令行
$mysql
试试,若进入mysql控制台说明已经安装。我的输出信息如下:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.51a-3ubuntu5.1 (Ubuntu)

2 若没有安装,在ubuntu下安装软件是件愉悦的事:
$sudo apt-get install mysql
不再多说。

3 启停
/etc/init.d/mysql stop|start|restart
或 sudo /usr/sbin/mysqld

4 修改root密码
参看:http://www.linuxdiyf.com/bbs/thread-104290-1-8.html
下面的简要引述。
登录到安全模式下:
$sudo /etc/init.d/mysql stop
$sudo mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
$sudo mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('新密码') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

# /etc/init.d/mysql restart
# mysql -u root -p
Enter password:
以root身份登录到控制台。

5 修改权限
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost;
给root用户付所有权限,也可以使用
GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "新密码";
赋值和修改密码。

6 创建一个用户以及库
mysql>create database 库名;
mysql>GRANT ALL PRIVILEGES ON 库名.* TO 用户名@localhost IDENTIFIED BY "密码";
或下面语句,给予从其它机器上执行的权力:
mysql>GRANT ALL PRIVILEGES ON 库名.* TO 用户名@"%" IDENTIFIED BY "密码";

7 一些常用的命令
mysql>show engines;
#显示支持哪些存储引擎
mysql>show databases;
mysql>use 库名;
mysql>create database 库名;
mysql>drop database 库名;

mysql>create table 表名 engine=
mysql>show tables;
mysql>desc 表名; 或 describe 表名
#查看表的元信息
mysql>load '文件';
#执行文件里的sql(批量执行)

创建表时后面加上 ENGINE=InnoDB 或 Type=InnoDB,指定该表使用InnoDB存储引擎,默认是使用MyISAM,不支持事务。
也可以使用 alter table engine=InnoDB 或 MyISAM

8 配置
mysql默认安装在/etc/mysql下,主要配置文件my.cnf也是在此目录下。
需要修改的并不多,处于优化和定制目的,可能需要修改的列出如下:

#使得远程机器也能访问,活指定一个具体地址
bind-address = 0.0.0.0

#指定数据存放的目录(建议把数据文件存放在不同的物理分区上,会得到更好的性能)
innodb_data_home_dir = /ibdata
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend:max:500M
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend:max:1G
还有些和innodb相关的参数。
请参考详细的参数的含义:
http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#innodb-init

注:默认的一些数据文件存放在/var/lib/mysql/下,如ibdata1是数据文件,ib_logfile0、ib_logfile1为日志文件。


9 参考
更多参考手册:
http://dev.mysql.com/doc/refman/5.1/zh/index.html

没有评论: