Mysql简单安装
安装MYSQL数据库,这里我采用的源码包安装。
1. 添加mysql组
shell># groupadd mysql
2. 添加mysql用户
shell># useradd -g mysql mysql
3. 转到安装目录下
shell># cd /software
4. 将源码包解压到当前目录下
shell># tar zxvf mysql-5.1.52.tar.gz
shell># mv mysql-5.1.52 mysql
5. 转到mysql目录下,配置mysql源码包并编译
shell># cd mysql
shell># configure --prefix=/usr/local/mysql
shell># make
6. 安装mysql软件,注意安装必须要root权限,因为要向系统写入文件
shell># make install
7. 如果你想安装选项文件,使用当前存在的‘support-files’ 文件夹下的作为模板,
shell> #cp support-files/my-medium.cnf /etc/my.cnf
8. 如果想mysqld每次开机自动启动的话,将下面这个文件拷贝到/etc/init.d/目录下
shell># cd /usr/local/mysql
shell># cp support-files/mysql.server /etc/init.d/mysql
9. 转到/etc/init.d/目录下,添加mysql服务
shell># cd /etc/init.d/
shell># chmod +x mysql
shell># chkconfig --add mysql
10. 设置为在图形模式和文字模式下自启动
shell># chkconfig --level 35 mysql on
shell># chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
11. 进入安装目录,创建mysql的权限表。注意一般用之前创建的mysql用户运行,如果用root运行,应使用—user选项,选项值应与运行服务器所创建的用户名相同
shell># cd /usr/local/mysql
shell># bin/mysql_install_db --user=mysql
12. 将程序的所有权限给‘root’ ,并且把数据目录的所有权给可以运行‘mysqld’的用户
shell> # chown -R root
shell> # chgrp -R mysql
MYSQL基础配置
前面我们已经在linux下安装好了MYSQL数据库,下面将对MYSQL数据库做一定的配置,使其更加安全高效。
首先启动mysql数据库服务
shell> # service mysql start
Starting MySQL [ OK ]
在一切正常后,要做的第一件事情是更改管理员的密码。目前连接mysql服务器是不需要密码的,任何人都可以直接连接MYSQL服务器,并获得管理权限。为了系统的数据安全,下面为当前的root用户设置密码
方法有多种,其中最简单的命令如下:
shell> # mysqladmin –u root password newpassword
这样就为mysql服务器设置了内容为newpassword的密码。但是这样设置密码也很不安全,因为命令行会留在历史记录里,其他人可以很容易的获得密码,从而威胁数据库的安全。另一种安全的方法是在连接mysql数据库以后,使用SQL语句设置密码
mysql> SET password=PASSWORD(‘newpassword’);
第三种设置密码的方法是直接修改user表root用户口令。
mysql>use MYSQL;
mysql>update user set password=password(‘test’) where user=’root’;
mysql>flush privileges;
为了保证数据库文件的安全,还要设置数据库文件的访问权限。这里我们的数据库文件在/usr/lcoal/mysql/var目录下,为了保证该目录不让未经授权的用户访问并把数据打包复制,所以要限制对该目录的访问。
shell> # chown -R mysql.mysql /usr/local/mysql/var
shell> # chmod -R go-rwx /usr/local/mysql/var
MYSQL的基本使用
安装配置好MYSQL之后,就可以对数据库做些基本的操作了。
连接MYSQL数据库
格式为:shell>mysql [-h hostname][-u username][-p password]
shell># bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 1
Server version: 5.1.52-log Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.
mysql>
这里看到一些欢迎语句之后返回到mysql> 表明我们已经连接到MYSQL数据库了,并得到一个mysql的shell。
这里需要注意下,我之前安装mysql之后我并没有更改root的密码,所以刚才连接MYSQL的时候root密码为空。
然后我们按照前面MYSQL配置中的第三种方法更改MYSQL中root用户的连接密码
mysql> use mysql;
Database changed
mysql> update user set password=password('mysqltest') where user='root';
Query OK, 3 rows affected (0.04 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
常用的几个MYSQL命令:
1) 显示MYSQL数据库命令
注意命令之后要加;(分号),表示一行命令输入结束.这里查看数据库的列表,发现有三个数据库,information_schema 、mysql和test,这是系统自建的,是让大家练习用的。
mysql> show databases;
2) 显示数据库版本命令
mysql> select version();
3) 打开一个数据库使用命令
use mydatabase ,其中mydatabase为MYSQL中的一个数据库。
mysql> use 数据库名;
4) 显示当前数据库下的数据表
mysql> show tables;
5) 显示表结构
mysql>describe 表名;
6) 创建数据库与删除数据库:
mysql> create database 数据库名;
mysql> drop database 数据库名;
7) 创建数据表:
mysql> use 库名;
mysql> create table 表名(字段列表);
mysql> drop table 表名;
8) 清空表中记录:
mysql> delete from 表名;
9) 显示表中的记录:
mysql> select * from 表名;
10) 导出数据:
mysql> mysqldump --opt test > mysql.test
即将test数据库导出到mysql.test文件,后者是一个文本文件
如:mysql> mysqldump -u root -pmysqltest --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
11) 导入数据:
mysqlimport -u root -pmysqltest < mysql.dbname。
将文本数据导入数据库中的数据表:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;
给个简单实例:
使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
查看现在的数据库中存在什么表
mysql> SHOW TABLES;
创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
显示表的结构:
mysql> DESCRIBE MYTABLE;
往表中加入记录
mysql> insert into MYTABLE values ("PC","M");
用文本方式将数据装入数据库表中(例如G:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
导入.sql文件命令(例如G:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
删除表
mysql>drop TABLE MYTABLE;
清空表
mysql> delete from MYTABLE;
更新表中数据
mysql> update MYTABLE set sex="f" where name='cp';
备份数据库
mysql> mysqldump -u root 库名>xxx.data
连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql> mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
退出MYSQL命令: exit (回车) 和quit