mysql使用小记
凌乱的小笔记,平时用的一些功能,稍稍总结一下。
1.把某表的一栏复制到另一张表里面去。
mysql貌似不支持select * into,所以只能create一张新表了,其实还是很简单的。
create table new_table_name (select * from old_table_name);
2.让mysql数据库允许远程访问。
两种方法:
(1)改表方法。
mysql –u root –p
mysql> use mysql;
mysql> update user set host='%' where user =’root’ #这种方法,可能会报错,duplicate primary key,
mysql> select host,user from user;
(2)授权方法。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
不管哪种方法,最后都要flush privileges,要不然不会生效。
要是flush privileges以后还是没有反应,那么就退出mysql,再进去,再flush privileges一遍。
粗暴的笨方法了。
3.mysql的数据导出
(1)导出整个数据库
mysqldump –u root –p 数据库名 > 导出的文件名
(2)导出一个表
mysqldump –u root –p 数据库名 表名 > 导出的文件名
(3)导出一个数据库的结构
mysqldump –u root –p –d –add-drop-table 数据库名 > 导出文件名
参数: –d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
(4) 导入数据库
进入数据库以后,直接
source 数据库名就行。
例如: mysql> source loader.sql;