centos用yum安装mysql-server
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