数据库导入导出
1、导出
命令格式mysqldump -u 用户名 -p 数据库名 > 数据库名.sql
范例:
E:\JavaProject\LBS\MySql>mysqldump -u root -p lbs --default-character-set=utf8 > lbs.sql
Enter password: *****
2、导入
命令格式mysql -u 用户名 -p 数据库名 < 数据库名.sql
范例:
E:\JavaProject\LBS\MySql>mysql -u root -p lbs --default-character-set=utf8 < lbs.sql
Enter password: *****
授权
GRANT ALL privileges ON lbs.* to lbs@'%' IDENTIFIED BY 'aaaa';
FLUSH PRIVILEGES;
状态查询
查询所有的数据库名字:
show databases;
查询当前正在使用的数据库名:
select database();
或者
status;
5种修改MySql的用户密码的方法
1. 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
2. 使用mysqladmin, mysqladmin -u root -p password mypasswd
3. mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> FLUSH PRIVILEGES
4. mysql> SET PASSWORD FOR username@"%" = PASSWORD('password');
这里的username是要修改的用户名称。
5. mysql> GRANT USAGE ON *.* TO username@"%" IDENTIFIED BY 'password';
这里的username是要修改的用户名称。
字符串操作
select CONCAT('My', 'S', 'QL');
异地登录
mysql缺省是只允许本地登录的,如果在未授权的情况下企图从异地登录,则会报Mysql:is not allowed to connect to this MySQL server错误
解决方式:
1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
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 'root'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.10.40.54' IDENTIFIED BY '123456' WITH GRANT OPTION;
3. 允许任何远程用户登录:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;