/ 中存储网

CentOS系统通过yum安装MySQL-server服务器

2014-07-13 16:13:14 来源:中存储网

1.安装:#yum -y install mysql-server

2.修改配置:#vi /etc/my.cnf

暂时修改一下编码(添加在密码下方添加): default-character-set = utf8

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(‘在这里填入root密码’);  ← 设置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;  ← 查看系统已存在的数据库

mysql查看打开的端口: show variables like ‘port’;

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