Ubuntu使用技巧之MySQL
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL是一种跨平台的数据库,在Ubuntu下安装Server的命令如下:
sudo apt-get install mysql-server
Client的命令如下:
apt-get install mysql-client
Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!修改如下:
$sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking 修改为 # skip-networking
新的版本中
>bind-address=127.0.0.1 修改为 bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了。如果你想知道mysql的数据库存放路径,可以用下面的命令
/var/lib/mysql
从mysql中导出和导入数据
mysqldump 数据库名 > 文件名 #导出数据库
mysqladmin create 数据库名 #建立数据库
mysql 数据库名 < 文件名 #导入数据库 忘了mysql的root口令怎么办?可以用下面的命令进行修改
sudo /etc/init.d/mysql stop sudo mysqld_safe --skip-grant-tables & sudo mysqladmin -u user password 'newpassword sudo mysqladmin flush-privileges 修改mysql的root口令
sudo mysqladmin -u root -p password '你的新密码' 如果你的mysql命令行中文显示?(乱码)号,试试下面的命令
mysql> set names utf8;
常用mysql管理语句
show databases; #显示mysql中的所有的数据库
use xxx; #选择你需要的数据库名称
show tables; #显示你选择的数据库中所有的表
show create table xxx; # 显示出xxx表格的SQL语句
show table status; #查询表状态
show full processlist; #查询mysql进程
alter table site_stats engine=MyISAM; #转换表为MyISAM类型,转表锁为行锁。
show variables; #查看mysql 变量
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 {} \;