Linux小技巧之Mysql维护
1、mysql 的数据库存放在什么地方1) 如果使用 rpm包安装,应该在/var/lib/mysql 目录下,以数据库名为目录名2) 如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/var中,以数据库名为目录名
2、从 mysql 中导出和导入数据导出数据库mysqldump 数据库名 > 文件名导入数据库mysqladmin create 数据库名mysql 数据库名 < 文件名
3、忘了 mysql 的 root 口令怎么办# service mysql stop# mysqld_safe --skip-grant-tables &# mysqladmin -u user password 'newpassword''# mysqladmin flush-privileges
4、mysqld 起来了,却无法瞌蕞凿鸠登录,提示"/var/lib/mysql/mysql.sock"不存在这种情况大多数是因为你的 mysql 是使用 rpm 方式安装的,攉淠艇髋它会自动寻找/var/lib/mysql/mysql.sock 这个文件,通过 unix socket 登录 mysql。常见解决办法如下:1)创建/修改文件 /etc/my.cnf,至少增加/修改一行[mysql][client]socket = /tmp/mysql.sock#在这里写上你的 mysql.sock 的正确位置,通常不是在 /tmp/ 下就是在 /var/lib/mysql/ 下2)指定 IP地址,使用 tcp 方式连接mysql,而不使用本地 sock 方式#mysql -h127.0.0.1 -uuser -ppassword3)为 mysql.sock 加个连接,比如说实际的 mysql.sock 在 /tmp/ 下,则# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock即可
5、导出数据的几种常用方法1)使用 mysqldump#mys孥恶膈茯qldump -uuser -ppassword -B database 幻腾寂埒--tables table1 --tables table2 >dump_data_20051206.sql详细的参数2)backup to语法mysql>BACKUP TABLE tbl_name[,tbl_name...] TO '/path/to/backup/directory';详细请查看 mysql 手册3)mysqlhotcopy#mysqlhotcopy db_name [/path/to/new_directory]或#mysqlhotcopy db_name_1 ... db_name_n /path/to/new_directory或#mysqlhotcopy db_name./regex/详细请查看 mysql 手册4)select into outfile详细请查看 mysql 手册5)客户端命令行#mysql -uuser -ppassword -e "sql statements" database > result.txt以上各种方法中,以 mysqldump 最常用
6、如何在命令行上执行 sql 语句#mysql -uuser -ppassword -e "sql statements" database
7、导入备份出来文件的常见方法1)由 mysqldump 出来的文件#mysql -uuser -ppassword [database] < dump.sql2)文件类型同上,使用 source 语法mysql>source /path_to_file/dump.sql;3)按照一定格式存储的文本文件或 csv 等文件#mysqlimport [options] database file1 [file2....]详细请查看 mysql 手册4)文件类型同上,也可以使用 load data 语法导入详细请查看 mysql 手册