MySQL's Notes
Table of Contents
1 参考
2 安装MySQL
要安装 MySQL,可以在终端提示符后运行下列命令:
sudo apt-get install mysql-server mysql-client #中途会让你输入一次root用户密码
一旦安装完成,MySQL 服务器应该自动启动。
sudo start mysql #手动的话这样启动 sudo stop mysql #手动停止
当你修改了配置文件後,你需要重启 mysqld 才能使这些修改生效。
要想检查 mysqld 进程是否已经开启,可以使用下面的命令:
pgrep mysqld
如果进程开启,这个命令将会返回该进程的 id。
3 文件结构
MySQL配置文件:/etc/mysql/my.cnf ,其中指定了数据文件存放路径
datadir = /var/lib/mysql
如果你创建了一个名为 test 的数据库,那么这个数据库的数据会存放到 /var/lib/mysql/test 目录下。
4 进入MySQL
mysql -uroot -p
(输入mysql的root密码)
qii@ubuntu:~$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 37 Server version: 5.1.41-3ubuntu12.3 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
修改 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword;
5 简单的操作
显示数据库:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | +--------------------+ 2 rows in set (0.00 sec)
6 mysql的数据库存放路径
/var/lib/mysql
7 导入导出
7.1 导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
7.2 导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
7.3 导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
说明:-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
7.4 导入数据库
常用source 命令
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:\wcnc_db.sql
8 忘了mysql的root口令怎么办
sudo /etc/init.d/mysql stop sudo mysqld_safe --skip-grant-tables & sudo mysqladmin -u user password 'newpassword sudo mysqladmin flush-privileges
9 如何优化mysql
wget http://www.day32.com/MySQL/tuning-primer.sh chmod +x tuning-primer.sh ./tuning-primer.sh
10 修改mysql的root口令
sudo mysqladmin -u root -p password '你的新密码'
11 mysql命令行中文显示?号
mysql> set names utf8;
12 常用mysql管理语句
12.1 查询表状态
show table status;
12.2 查询mysql进程
show full processlist;
12.3 转换表为MyISAM类型,转表锁为行锁
alter table site_stats engine=MyISAM;
12.4 查看 mysql 变量
show variables;
13 mysql的自动备份
#备份 forum myweb 数据库到 /backup/mysql 目录,并删除7天之前的备份记录 mysqldump --opt --skip-lock-tables -u root forum | gzip -9 > /backup/mysql/forum.`date +%Y%m%d`.sql.gz mysqldump --opt --skip-lock-tables -u root myweb | gzip -9 > /backup/mysql/myweb.`date +%Y%m%d`.sql.gz find /backup/mysql/ -type f -ctime +7 -exec rm {} \;