发布于 2014-10-12 15:36:00 | 151 次阅读 | 评论: 0 | 来源: 网友投递
Mysql关系型数据库管理系统
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
本文为大家讲解的是MySQL的常用管理命令、备份与恢复、授权远程访问,感兴趣的同学参考下.
MySql命令行登录
mysql -u用户名 -p,回车后输入密码
登录成功后,输入命令:mysql> show databases;验证操作正常否。
为MySql数据库的root账户设置初始密码
刚安装完成的MySql的root初始密码是空的。需要手工设置密码。
输入命令:mysql_secure_installation
要求输入当前root用户的密码,密码为空,直接回车
根据提示输入Y,回车
输入2次密码,回车
再输入很多次回车(意思是使用默认值 )
最后出现:Thanks for using MySQL!
MySql密码设置完成
为MySql数据库创建密码(方法二),或修改密码
[root@AY1207241 /]# mysqladmin -uroot -p'' password '123'
连续回车,由于mysql的root初始密码是空的,所以-p后边没加参数,如果不是第一次修改,需要将你的登录密码加到-p后边,然后用新的密码替代旧密码。
mysqladmin -uroot -p'旧密码' password '新密码'
创建mysql数据库:
# mysqladmin -u root -p 123 create testdb
让root用户可以远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
启动、停止、重启 MySQL:
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
/etc/init.d/mysqld restart #重启
备份--mysqldump
1、备份--某个库备份到“文件名.sql”
[root@test1 mysql]# mysqldump -u root -p 库名 > 文件名.sql
导出某个库,带drop已存在database语句,带建库语句,带drop 已存在table语句,带建表语句
# mysqldump -u root -p -B --add-drop-database --add-drop-table 库名 > bak.sql
-B 带创建数据库的语句。
--add-drop-table 在每个create语句之前增加一个drop table
--add-drop-database 增加drop database语句
导出某个库,带drop 已存在table语句,带建表语句
# mysqldump -u root -p --add-drop-table 库名 > c:\bak.sql
2.导出某个表的数据
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出某个数据库的结构--带建库语句、建表语句
mysqldump -u wcnc -p -B -d --add-drop-database --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql
-B 带创建数据库的语句。
-d 不导出数据
--add-drop-table 在每个create语句之前增加一个drop table
--add-drop-database 增加drop database语句
4.带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt databse > d4.sql
恢复--mysqldump命令
把“文件名.sql”导入到某个库(已有库)
[root@test mysql]# mysql -u root -p 库名 < 文件名.sql
恢复--source 命令
把*.sql文件导入某个数据库(已有库)
1进入mysql数据库控制台:mysql -u root -p
2选择数据库:mysql>use 数据库
3使用source命令,导入sql文件:mysql>source d:\wcnc_db.sql
远程访问MySql服务器
客户端远程连接mysql服务器, 要有相关的权限,默认是没有权限的:
出现错误: Access denied for user: '@127.0.0.1' to database 'mysql' ,时也要开权限:
方法如下:
grant all privileges on *.* to root@192.168.10.120 identified by "1234";
root 为要连接的用户名 @后面是你所要连接mysql服务器的客户机ip,不是mysql服务器ip, "1234" 是登录mysql的密码
连接mysql的时候报错Access denied for user: 'test@127.0.0.1' (Using password: YES),是你用户的权限不够。
开select,insert,update,delete,create,drop权限
GRANT select,insert,update,delete,create,drop ON samp_db.* TO 用户名@127.0.0.1 IDENTIFIED BY '密码';
开所有权限:
GRANT ALL ON samp_db.* TO test@* IDENTIFIED BY "test"
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;