WilliamLin 2013-04-30
本文转自:http://www.zheboy.com/?p=52
1.安装:
#yum -y install mysql-server
2.修改配置:
#vim /etc/my.cnf为了保险,可先将my.cnf备份一份到其它地方。
3.启动mysql服务,并设定为系统服务:
#chkconfig mysqld on //设置MySQL服务随系统启动自启动 #chkconfig –-list mysqld //确认MySQL自启动mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2–5为on的状态就OK #service mysqld start //启动服务(# /etc/rc.d/init.d/mysqld start也可以)
4.修改root密码(默认密码为空):
#mysql -u root //用root用户登录MySQL服务器 >select user,host,password from mysql.user; //查看用户信息 >set password for root@localhost=password(‘newPassword’); //设置root密码 >select user,host,password from mysql.user; //查看用户信息 >exit //退出MySQL服务器
5.删除匿名用户:
>delete from mysql.user where user=”; //删除匿名用户 >select user, host from mysql.user; //查看用户信息
6.当前版本信息,日期和数据库:
>select version(),current_date; //查看数据库版本和系统当前日期 >show databases; //查看系统已存在的数据库 >drop database test; //删除名为test的空数据库 >show databases; //查看系统已存在的数据库 >show variables like 'port'; //查看mysql打开的端口
7.创建数据库和用户:
>create database openfire; //创建一个openfire数据库 >grant all privileges on openfire.* to ofuser@localhost identified by ‘ofpass’; //创建ofuser用户,密码为ofpass,对openfire数据库有所有权限。
添加新用户格式:
>GRANT ALL PRIVILEGES ON *.* TO user@localhost IDENTIFIED BY ’pass’ WITH GRANT OPTION; >GRANT ALL PRIVILEGES ON *.* TO user@”%” IDENTIFIED BY ’pass’ WITH GRANT OPTION; //grant select on 数据库.* to 用户名@登录主机 identified by “密码”
删除授权:
>revoke all privileges on *.* from root@”%”; >delete from user where user=”root” and host=”%”; >flush privileges;
细粒度授权:
创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb
>mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’;
8.备份和恢复数据库:
备份数据库 shell> mysqldump -h yourhost -u root -p pass dbname >dbname_backup.sql
恢复数据库 shell> mysqladmin -h yourhost -u root -p pass create dbname
shell> mysqldump -h yourhost -u root -p dbname < dbname_backup.sql
如果只想Dump建表指令,则命令如下: shell> mysqladmin -u root -p pass -d databasename > a.sql
如果只想Dump插入数据的sql命令,而不需要建表命令,则命令如下: shell> mysqladmin -u root -p pass -t databasename > a.sql
那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢? mysqldump -T./ phptest driver
其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。
可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。
可利用输入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查询,可如下执行这些查询:
如果您想将建表语句提前写在sql.txt中: mysql > mysql -h yourhost -u root -p yourdatabase < /var/home/user/sql.txt