mysql数据库的安装步骤
Redhat6.5
1、准备工作
卸载使用rpm包安装的mysql-server、mysql软件包
安装自带的ncurses-devel包
rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
① 解压cmake包
tar zxf cmake-2.8.6.tar.gz
[root@localhost cmake-2.8.6]# cd cmake-2.8.6
② 安装cmake包
[root@localhost cmake-2.8.6]# ./configure && gmake && gmake install
2、源码编译及安装
①创建运行用户
[root@localhost cmake-2.8.6]# groupadd mysql
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
②解压mysql包释放到/usr/src目录下并切换到展开后的源码目录
tar zxf mysql-5.5.22.tar.gz -C /usr/src
cd /usr/src/mysql-5.5.22/
③配置
可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码,配置中将默认的字符集编码设置为utf8并添加其他字符集支持
[root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
----选项含义:
-DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录
-DSYSCONFDIR:指定初始化参数文件目录
-DDEFAULT_CHARSET:指定使用默认的字符集编码,如utf8
-DDEFAULT_COLLATION:指定默认使用的字符集编码校对规则,utf8_general_ci 是适用于UTF-8字符集编码的通用规则。
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
④编译并安装 make && make install
3、安装后的其他调整
①对数据库目录进行权限设置
[root@localhost mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql
②建立配置文件
在mysql源码目录中的support—file文件下,提供了适合不同负载数据库的样本配置文件。如果不确定数据库同学的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数启用的中单应用需求
根据以下参考内容建立mysql系统的/etc/my.cnf配置文件
[root@localhost mysql-5.5.22]# rm -rf /etc/my.cnf
[root@localhost mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
③初始化数据库
为了能够正常使用mysql数据库系统,应以运行用户mysql身份执行初始化监本mysql_intall_db,指定数据库存放目录等。
[root@localhost mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
④设置变量环境
为了方便在任何目录下使用mysql命令需要在/etc/profile设置环境变量
[root@localhost mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.5.22]# ./etc/profile 或 source /etc/profile //立即生效
4、添加系统服务
若希望添加mysql系统服务,以通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本。找到support-files文件下的mysql。server脚本文件,
将其复制到/etc/rc.d/init.d目录下,并改名为mysqld,然后再设置执行权限,通过chkconfig命令将其添加为mysqld系统服务。
[root@localhost mysql-5.5.22]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chmod +x /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chkconfig --add mysqld
[root@localhost mysql-5.5.22]# service mysqld start
查看mysql的运行状态: 端口号:3306
[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21921/mysqld
二、访问mysql数据库
1、登录到mysql服务器
经过安装后的初始化过程,mysql数据库的默认用户名为root密码为空,若以root登录数据库执行以下操作
mysql -u root -p
mysql>
2、执行mysql操作语句:show master logs; 可查看当前数据库访问的日志文件信息
3、退出mysq可执行quit或exit
三、MySQL的操作语句:
1、查看
①、查看当前服务器中有哪些库:
mysql> show databases;
②、查看当前使用的库中有哪些表:先使用use语句切换到所使用的库,再查看
mysql> use mysql;
Database changed
mysql> show tables;
MySQL数据库的数据文件存放在/usr/local/mysql/data目录下,每个数据库对应一个子目录用于存储数据表文件。一个数据表对应3个文件后缀名为 .frm 、.myd和 .myi
③、查看表结构:DESCRIBE语句用于显示表的结构需要指定 “库名.表名”
mysql> desc mysql.user; //查看mysql库的user表的结构
2、创建及删除库和表
①创建新的库
mysql> create database auth; //创建一个auth库
Query OK, 1 row affected (0.00 sec)
②创建新的表:需要指定表名作为参数,并定义该表所使用的各字段。
mysql> use auth;
mysql> create table users (user_name char(16) not null,user_passwd char(48) default '', primary key (user_name));
//在auth库中创建一个users表并插入字段user_name(不超过16字节且不为空),user_passwd(不超过48字节)默认为空,并把user_name设为主键
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+----------------+
| Tables_in_auth |
+----------------+
| users |
+----------------+
1 row in set (0.00 sec)
③删除表和数据库
mysql> drop table auth.users; //删除auth库中的users表
mysql> drop database auth; //删除auth数据库
3、管理表中的数据记录
①插入数据记录:insert into
mysql> insert into users(user_name,user_passwd) values('lisi',password('1234')); //向auth库中users表插入一条记录,用户名为lisi,密码为1234
Query OK, 1 row affected (0.01 sec)
②查询数据记录:select
mysql> select * from users; //查询users表中所有(*)内容
+-----------+-------------------------------------------+
| user_name | user_passwd |
+-----------+-------------------------------------------+
| lisi | *A4B6157319038724E3560894F7F932C8886EBFCF |
+-----------+-------------------------------------------+
1 row in set (0.00 sec)
③修改数据记录 update
mysql> update auth.users set user_passwd=password('123.com')where user_name='lisi';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
④修改密码:
用于访问mysql数据库的各种用户信息都保存在mydql库的user表中,可直接修改其中的数据记录
mysql> update mysql.user set password=password('1234') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
也可以在linux命令行下使用mysqladmin工具设置密码,验证原密码后可直接将数据库用户密码设置为 '123.com'
mysql> mysqladmin -u root -p password '123.com'
Enter password:
⑤、删除数据记录:delete
mysql> delete from auth.users where user_name='lisi';
4、授权: grant
①授予权限:GRANT select ON auth.* TO 'xiaosan'@'localhost' IDENTIFIED BY '123456';
②查看权限:show grants 通过FOR子句可指定查看的用户对象
mysql> show grants for 'xiaosan'@'localhost';
+----------------------------------------------------------------------------------------------------------------+
| Grants for xiaosan@localhost |
+----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'xiaosan'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT SELECT ON `auth`.* TO 'xiaosan'@'localhost' |
+----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
③撤销权限:revoke
revoke all ON auth.* FROM 'xiaosan'@'localhost';
四、数据库的备份与恢复
三种格式:(一)导出指定库中的部分表:
mysqldump 【选项】 库名 【表名1】【表名2】... > /备份路径/备份文件名
(二)导出一个或多个完整库(包括其中所有的表):
mysqldump 【选项】--databases 库名1 【库名2】 ... > /备份路径/备份文件名
(三)备份MySQL服务器中所有
mysqldump 【选项】--all-databases > /备份路径/备份文件名
1、备份数据库
(1)执行导出操作
①[root@localhost ~]# mysqldump -u root -p mysql user > mysql-user.sql ///将mysql库中的user表导出为mysql-user.sql文件
Enter password: ///输入root密码
②[root@localhost ~]# mysqldump -u root -p --databases auth > auth.sql ///将整个auth库导出为auth.sql文件
Enter password: ///输入root密码
③若需要备份整个mysql服务器中所有库应使用格式(三)当导出数据量较大时,可以添加"--opt"选项以优化执行速度
例如:mysqldump -u root -p --opt --all-databases > /all-data.sql ///将创建all-data.sql备份文件包含所有库
(2)查看备份内容
[root@localhost ~]# grep -v "^--" auth.sql | grep -v "^/" | grep -v "^$" 或使用 egrep -v "^--|^/|^$" auth.sql
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `auth` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `auth`;
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`user_name` char(16) NOT NULL,
`user_passwd` char(48) DEFAULT '',
PRIMARY KEY (`user_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `users` WRITE;
INSERT INTO `users` VALUES ('lisi','*AC241830FFDDC8943AB31CBD47D758E79F7953EA');
UNLOCK TABLES;
2、恢复数据库
① [root@localhost ~]# mysql -u root -p mysql < mysql-user.sql ///从备份文件mysql-user.sql中将user表导入mysql库中
Enter password:
② [root@localhost ~]# mysql -u root -p < auth.sql ///从备份文件auth.sql恢复auth库
Enter password:
mysql数据库的安装步骤的更多相关文章
- 1. Mysql数据库的安装
1. Mysql数据库的安装 (1)打开Mysql安装软件,同意相关协议进入下一步安装,在选择安装类型中选择[自定义]进入下一步安装. (2)选择安装的组件信息. (3)服务器软件安装目录 (4)数据 ...
- MySQL数据库的安装与配置(windows)
MySQL是目前最为流行的开放源码的数据库,是完全网络化的跨平台的关系型数据库系统,它是由瑞典MySQLAB公司开发,目前属于Oracle公司.任何人都能从Internet下载MySQL软件,而无需支 ...
- [转] Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
from: http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得 ...
- Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...
- Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置
原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux学习之CentOS6下Mysql数据库的安装与配置
转自:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j ...
- Linux CentOS6.4下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- CentOS6.4/6.7下Mysql数据库的安装与配置(转载)
通过RPM方式 给centos 安装mysql 最好有光盘,呵呵,网络也可以下载rpm安装包,不过文件较大. 1 挂载光盘 mount /dev/cdrom /mnt/cdrom/mount: b ...
- CentOS6.5下Mysql数据库的安装与配置
一.mysql简介 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
随机推荐
- 下载android5.0源码
方法还是与之前我介绍的下载源码的方法一样,但是repo需要更新一下,否则可能会出现以下错误: type commit tag v1.12.16 tagger Conley Owens <cco3 ...
- Android性能优化之TraceView和Lint使用详解
Android lint工具是Android studio中集成的一个代码提示工具,它主要负责对你的代码进行优化提示,包括xml和java文件,很强大.编写完代码及时进行lint测试,会让我们的代码变 ...
- python import自己编写的模块:import json和simplejson
python import的模块都是库里面的,而自己的模块也可以添加 比如python的json处理,库里没有json文件,import json不行. 网上大部分人告诉你处理json用 dumps和 ...
- hadoop 部署和调优
一.集群安装 1.在所有的机器上建立相同的用户名,如:hadoop. $adduser hadoop $passwd hadoop 2.在/etc/hosts中添加机器名和IP hadoop@hado ...
- 用C语言实现Ping程序功能
本文转载自:http://www.ibm.com/developerworks/cn/linux/network/ping/ ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.p ...
- 如何优化你的布局层级结构之RelativeLayout和LinearLayout及FrameLayout性能分析
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/51159419 如何优化你的布局层级结构之RelativeLayout和LinearLa ...
- hive使用过的基本命令
命令:完成操作 hive:进去hive show databases:显示 所有database use wizad: 使用database wizad,或者如use aso show tables: ...
- Notice to users of DB Query Analyzer in Windows 7, Windows 8 and Windows 10
UnlikeWinXP, VISTA, Windows2000, Windows Nt and Win98,Windows 7 / Windows 8 / Windows 10 select ...
- linux设备驱动模块引用和依赖
/modules/04 # lsmod test 787 0 - Live 0xbf010000 (PO) func 633 1 test, Live 0xbf00c000 (PO) test -&g ...
- 解决IE7兼容H5新标签的方法
外部引入JS <script src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"></script&g ...