一.安装步骤:
1.去mysql官网下两个RPM安装包。客户端(如:MySQL-client-5.5.43-1.linux2.6.i386.rpm)与服务器端(如MySQL-server-5.5.43-1.linux2.6.i386.rpm)
2. 在Linux系统上敲下如下命令: rpm -qa | grep mysql 以此检测系统是否有安装mysql的关联软件。有关联软件的,一定要删除掉。<强行删除命令:rpm -e --nodeps 软件包名>否则就会出现这种情况: 3.验证mysql是否正确装好的方法: 输入 netstat -nat 查看端口号是否有3306 如图:
二.配置阶段
1.mysql服务的开启,重启,与停用命令:
有两种形式: service mysql start/restart/stop
或 /etc/init.d/mysql start/stop/restart
2.设置开机自动mysql服务的方法:
首先验证开机是否有启动:命令 chkconfig --list | grep mysql
若出现图中红色线标注的状态,则说明mysql服务有设置为开机自动启动。否则可敲如下命令:
chkconfig mysql on 将之设为开机启动。
说明: chkconfig –-del mysql 将mysql从开机服务组里删除
3. 进入与推出mysql命令行的方法:
初次装好mysql后默认账户mysql没有密码,可直接敲mysql进入命令行。增加帐号密码的命令为: mysqladmin -u root -p password '敲的密码' 《此处的root为mysql帐号》
设好密码的登录方式: mysql -u root -p 如图所示:
退出命令行的指令为:quit; 如下图 <需特别留意quit后面的冒号>
4.配置文件
采用RPM方式安装mysql的方法,会在/etc目录下缺少my.cnf文件。解决方法是:只需复制一个/usr/share/mysql/my-*.cnf文件到/etc目录,并改名为my.cnf即可。
文件说明:
内存小于512M: 可复制/usr/share/mysql/my-small.cnf
内存在512-1000M之间: 可复制 /usr/share/mysql/my-media.cnf
内存大于1000M的: 可复制 /usr/share/mysql/my-large.cnf
命令如: cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5.RPM包方式安装的文件说明:
数据文件: /usr/lib/mysql
服务器程序: /usr/sbin/mysqld
工具配置文件: /usr/bin -- /usr/bin/mysql* mysqladmin mysqldump的配置命令
配置文件: /usr/share/mysql <-- mysql.server 命令的配置文件
此方式下,mysql默认将日志文件,错误文件放在 /usr/lib/mysql目录下
特别说明:/usr/bin/mysql_install_db,该程序可以用来初始化 mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数据库(空库),如果不小心删 除了/var/log/mysql目录可以通过该程序来初始化.
将my.cnf文件中的innodb_flush_log_at_trx_commit设成0可以优化mysql.
[mysqld]后添加添加lower_case_table_names设成1可以不区分表名的大小写。
6. 常见操作
6.1 显示数据库: show database;
Mysql刚安装完默认有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
6.2 查看数据库中的表格: show tables;
6.3 查询表的结构: describe 表名
6.4 查询数据表的记录: select * from 表名;
6.5 创建一个数据库: create database 数据库的名称;
如: create database school;
6.6 创建一张表: use 库名;
create table 表名(字段设定列表);
如: 在刚创建的school库中建立表student,表中有id(序号,自动增长),name(姓名),old(年龄)四个字段
use school;
create table student(id int(5)auto_increment not null primary key,name char(4),old int(3));
6.7 插入记录: insert into student values('',‘Jim’,'23');
insert into student values('', 'Kariy','22');
6.8 修改记录:如将Jim的年龄改为22岁 update student set old='22' where name='Jim';
6.9 删除记录:如删除Jim的记录 delete from student where name='Jim';
6.10 删除库: drop database 库名;
6.11 删除表: drop table 表名;
6.12 对mysql数据库进行用户的增加;
grant selent on 数据库. * to 用户名@登录主机 identified by '密码’;
举例可为:增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@'%' Identified by '123';
mysql> grant all on *.* to user_1@'%' Identified by '123';
此条命令开启的权限最大,通常较安全的做法为:设置用户的登录方式。举例如下:
增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作 (localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by '123';
6.13 mysql数据库字符的修改:
因为mysql默认不支持中文,修改方式为:终止mysql服务,打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存关闭。
6.14 远程访问方式:
方式一:grant all on *.* to user@'%' identified by '密码';
允许user用户从任意机器上登入MySQL。
方式二:
编辑 /etc/mysql/my.cnf
>skip-networking => # skip-networking
这样就可以允许其他机器访问MySQL了。
通过限定IP的访问方法:
grant all on *.* to 'root'@'ip' identified by 'password';
6.15 mysql数据库的备份与恢复方式:
备份: 切换到数据目录: RPM方式为: cd /var/lib/mysql
mysqldump -u root -p --opt aaa > back_aaa aaa为数据库名
恢复: mysql -u root -p ccc < back_aaa ccc为数据库名