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


导出mysql里面的函数或者存储过程

     mysqldump -hhostname -uusername -ppassword -ntd -R databasename > backupflie.sql

     mysqldump -hlocalhost -uroot -ntd -R hqgr > hqgr.sql

   其中的 -ntd 是表示导出存储过程;-R是表示导出函数


 

 

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 [email protected] identified by "1234";
root 为要连接的用户名 @后面是你所要连接mysql服务器的客户机ip,不是mysql服务器ip, "1234" 是登录mysql的密码

连接mysql的时候报错Access denied for user: '[email protected]' (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;

你可能感兴趣的:(MySQL管理命令、备份与恢复、授权远程访问)