安装过程
在安装mysql之前,先对mysql做一个知识补充。mysql是一种开放源代码的关系数据库管理系统,采用的是客户机/服务器工作模式,是一个多用户、多线程的SQL数据库。
需要掌握的基本概念:
- 数据(data):数据库中存储的基本对象
- 数据库(DB):存放数据的仓库。
- 数据库管理系统(DBMS):是位于用户和操作系统之间的一 层数据管理软件,有数据定义功能,数据操纵功能,数据库的运行管理,数据库的建立维护功能。
- 数据库系统(DBS):一般由数据库,数据库管理系统,应用系统,数据库管理员和用户构成。
- 数据库系统视图如下:
|------------------------------|
|--------用户------用户-------|
|------------------------------|
-- -- --
- -- -
|-------------------|
| 应用系统 |
|-------------------|
--
--
|-------------------|
| 应用开发工具 |
|-------------------|
--
--
|-------------------|
| 数据库管理系统 |
|-------------------|/----------|_|
-- |D|
-- |B|
|-------------------| |A|
| 操作系统 |\----------|-|
|-------------------|
--
--
|-----------|
| D B |
|-----------|
安装mysql:
- 安装ncurses
yum -y install ncurses*
//我的源码包存放位置为/lamp/sourcecode
cd /lamp/sourcecode
//解压源码包后,进入解压文件夹,编译:
./configure --with-shared --without-debug --without-ada --enable-overwrite
make && make install
- 添加mysql的进程执行者:
useradd mysql
- 解压mysql的源码包后,进入解压文件夹,编译:
./configure --prefix=/usr/local/mysql --without-debug --enable-thread-safe-client --with-pthread --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-extra-charsets=all --with-plugins=all --with-mysqld-user=mysqld --without-embedded-server --with-server-suffix=-community --with-unix-socket-path=/tmp/mysql.sock
make && make install
- 复制配置文件到etc下:
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
注:在mysql安装完成后,实际将生成多种不同的配置文件存在于/user/local/mysql/share/mysql下,由于这是测试环境,我选择了my-medium.cnf,关于mysql配置文件的内容,后文将做详细说明。
- 完成后修改配置文件:
//添加客户端字符集
[client]
default-character-set=utf8
//添加服务端字符集
[mysqld]
character-set-server=utf8
- 修改mysql用户对mysql目录的权限:
setfacl -m u:mysql:rwx -R /user/local/mysql
setfacl -m d:u:mysql:rwx -R /user/local/mysql
- 创建数据库授权表:
/user/local/mysql/bin/mysql_install_db --user=mysql
//将创建mysql数据库和test数据库。
//注:关于mysql数据库授权的内容,将在后续整理分享给大家。
- 用源码包的方式启动mysql服务:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
以mysql的进程执行者身份启动mysql服务。
问题:如果去掉“&”,在执行到这一步的时候,mysql服务正常运行,程序占据了控制台无法中断和退出,需要新开一个控制台。
- 登录mysql:
起始时,登录mysql服务的用户为root,密码默认为空
/usr/local/mysql/bin/mysql -uroot password
- 密码修改:
/usr/local/mysql/bin/mysql -uroot password yourpassword
重新登录就需要输入密码才能登录了。
到此为止,整个mysql5的安装已经完成。接下来,我们需要了解一下mysql的一些重要文件。通过了解这些文件,我们将对整个安装过程的“用户”和“进程执行者”理解更加深刻。
重要文件夹:
操作数据库的所有命令存放的文件夹:
/usr/local/mysql/bin/
在这里面,有几个常用的命令:
/usr/local/mysql/bin/mysql_safe --user=mysql &
//开启mysql服务
/usr/local/mysql/bin/mysqladmin shutdown
//正确关闭mysql的方式
/usr/local/mysql/bin/mysqladmin status
//查看mysql的状态
mysql的配置文件:
mysql安装完成会在/usr/local/mysql/share/mysql/(根据自己指定的安装目录而定)下生成多个配置文件
my-small.cnf:为运行在小内存(小于64M)主机上的数据库设计的。不时的占用系统资源。
my-medium.cnf:为运行在小内存(32M至64M)主机上的数据设计的。但是此时的mysql起到重要作用,如常见的数据库和web服务在同一主机上。
my-large.cnf:专门为mysql数据库主机而设计的。这时的主机为mysql服务提供多达512M的内存。
my-huge.cnf:为企业级的mysql数据库服务而设计的。需要专门的服务器,为mysql服务分配的内存超过1G。
my-innodb-heavy-4G.cnf:为使用innoDB引擎的mysql数据库设计的。
这些配置文件可以根据实际需求进行选择,将需要的配置文件改名为my.cnf并保存至/etc下,该文件则对全局起作用了。也可以复制到单独的数据库文件存储目录,并改名为my.cnf,则只对该服务器起作用。还可以保存到一个用户目录下,更名为my.cnf,此时就只对该用户生效。
这里我挑选对my-medium.cnf进行深入学习:
my-medium.cnf配置文件由很多配置字段组成,每一个配置段都有一个名称,由方括号包围,与某一应用程序对应:
- [client]段:包含的配置内容传递给所有客户端。
- [mysqld]段:包含的是mysql服务器配置的指令。
- [mysql]段:指定启动mysql服务的配置。
有关mysql的内容就介绍到这,有关数据库管理和数据库优化的内容将继续分享给大家。不对的地方,欢迎大家留言指正。