mysql常用命令
Mysql初始化root密码和允许远程访问 http://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.htmlmysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。
mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;
isamchk 是用来修复、检查和优化.ism后缀的数据库文件;
mysqldump 是用于备份数据库,前面已经简单的说明过;
myisamchk 用来修复.myi后缀的数据库文件;MySQL修改数据库密码http://my.oschina.net/yongqingfan/blog/638199CentOS6.4下Mysql数据库的安装与配置
http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html停止和启动:
1 2 |
service mysqld stop service mysqld start |
登录:
1 2 |
#mysql -uusername -p #然后输入pwd |
退出
1 |
#exit |
切换数据库:
1 |
#user myDatabaseName |
显示所有数据库:
1 |
#mysql>show databases; |
显示数据库所有的表
1 |
#mysql>show tables; |
备份: 备份mysql中已经存在的名为linux的数据库
1 2 |
#mysqldump -u root -p linux > /home/beinan/linuxsir031130.sql Enter password:在这里输入数据库管理员root的数据库密码 |
导入:把在/home/beinan这个目录中的linuxsir031130.sql这个备份,导入名为linux的数据库中,应该如下操作;
1 |
#mysql -u root -p linux < /home/beinan/linuxsir031130.sql |
创建账户:
1 |
#mysql> CREATE USER userName@localhost IDENTIFIED BY 'userPassword'; |
修改密码:
1 |
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456"); |
删除账户:
1 2 3 4 5 6 |
mysql> mysql -h118.145.16.22 -uroot -p mysql> show databases; mysql> use mysql; mysql> DELETE FROM user WHERE User='root' and Host='%'; mysql> flush privileges; //立即生效 删除账户及权限:drop user 用户名@'%'; 或者 drop user 用户名@ localhost; |
改变权限或者其他数据库后, 使数据库立即生效:
1 |
flush privileges; |
创建mail数据库和账户:
1 2 3 4 5 6 7 8 |
#mysqladmin -uroot password 'root' #mysql -h localhost -uroot -p #mysql> GRANT ALL PRIVILEGES ON mail.* TO root@localhost IDENTIFIED BY 'root'; //给root访问所有数据权限 #mysql> create database mail; //创建mail数据库 #mysqlCREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; //创建时指定编码 //创建admin账户,它对mail数据库拥有所有权限 #mysql> GRANT ALL PRIVILEGES ON mail.* TO admin@"localhost" IDENTIFIED BY '123123' WITH GRANT OPTION; #mysql> flush privileges; //马上生效 |
创建数据库时指定字符集:
1 2 |
GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci |
删除数据库
1 |
drop database zentao; |
删除表:
1 |
#mysql> drop table MyClass; |
查看服务器和客户端字符集
1 |
mysql> show variables like "%char%"; |
查看数据库的字符集
1 |
mysql> show create database test; |
查看表的字符集,包括各个字段的字符集,如果各字段没有标明,表示与表的字符集一致
1 |
mysql> show create table books |
mysql的UTF-8编码:解决乱码问题
修改:/opt/lampp/etc/my.cnf,三处增加:低版本[default-character-set=utf8],高版本[character-set-server=utf8]
1 2 3 4 5 6 7 8 9 10 |
[client] #default-character-set=utf8 character-set-server=utf8 [mysqld] #default-character-set=utf8 character-set-server=utf8 init_connect='SET NAMES utf8' [mysql] #default-character-set=utf8 character-set-server=utf8 |
mysql 随机选择一条记录
1 |
SELECT * FROM foo ORDER BY RAND() LIMIT 1 |
mysql启动和关闭约束的方法(FOREIGN_KEY_CHECKS)
禁用
1 |
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; |
启用
1 |
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; |
连接mysql 比较慢
在进行ping和route后发现网络通信都是正常的,而且在mysql机器上进行本地连接发现是很快的,所以网络问题基本上被排除了。以前也遇到过一次这样的 问题,可后来就不知怎么突然好了,这次又遭遇这样的问题,所以想看看是不是mysql的配置问题。在查询mysql相关文档和网络搜索后,发现了一个配置似乎可以解决这样的问题,就是在mysql的配置文件中增加如下配置参数:
1 2 |
[mysqld] skip-name-resolve |
还原SQL文件:
进入MySQL命令行
第一种方式:在未连接数据库的情况下,输入 mysql -h localhost -u root -p 123456 < d:\book.sql 回车即可;
第二种方式:在已连接数据库的情况下,此时命令提示符为mysql>,输入 source d:\book.sql 或者 \. d:\book.sql 回车即可。