CentOS yum方式安装MySQL

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

相关推荐