搭建mysql 初始环境

安装MySQL数据库

实验环境:centos操作系统、cmake源码包、mysql源码包

实验目的,安装数据库

实验步骤:

 

一、安装前的准备工作:为了避免发生端口冲突,程序冲突等现向,建议先查询mysql软件的安装情况,确认没有使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。

[root@localhost 桌面]# rpm -q mysql-server mysql

package mysql-server is not installed

package mysql is not installed

 

如果已经安装mysql则卸载

 

[root@localhost 桌面]# rpm -e mysql –nodeps

 

(1)首先挂载光盘:

[root@localhost 桌面]# mkdir /media/dvd

[root@localhost 桌面]# mount /dev/cdrom /media/dvd/

mount: block device /dev/sr0 is write-protected, mounting read-only

 

(2)安装光盘自带的ncurses-devel包:

 

[root@localhost 桌面]# cd /media/dvd/Packages/

[root@localhost Packages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

                                        (安装光盘自带的ncurses-devel包)

warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

   1:ncurses-devel          ########################################### [100%]

 

ncurses-devel包:字符终端下屏幕控制基本库。

 

(3)mysql5.5需要cmake编译安装,所以先安装cmake包:

 

[root@localhost 桌面]# tar zxf cmake-2.8.6.tar.gz -C /usr/     (安装cmake包)

[root@localhost 桌面]# cd /usr/cmake-2.8.6/            (切换到cmake的目录)

[root@localhost cmake-2.8.6]# ./configure                (进行配置)

[root@localhost cmake-2.8.6]# gmake && gmake install     

(编译为可执行程序(二进制)及进行安装,&&:意思是前面命令执行成功,后面的才可以执行。&:意思是前面命令是否成功,后面命令都执行。)

 

二、源码编译安装:

(1)创建运行用户:

为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登陆到系统,可以不创建宿主文件夹。

 

[root@localhost cmake-2.8.6]# groupadd mysql      (创建mysql组)

[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql 

(新建用户,把新建的用户指定到mysql组里,-M:不创建宿主目录,-s:指定登陆shell,-g:指定基本组名)

 

(2)解包:

将下载的mysql源码包解压,释放到/usr/src目录下,并切换到展开后的源码目录。

 

[root@localhost 桌面]# tar zxf mysql-5.5.22.tar.gz -C /usr/src 

(解包mysql源码包到/usr/src目录)

 

(3)配置:

在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码,在配置过程中,可以将默认使用的字符集设置为utf8,并添加其他字符集的支持。

 

[root@localhost 桌面]#cd /usr/src/mysql-5.5.22

[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数据库程序安装到某目录下,如目录/usr/local/mysql。

-DSYSCONFDIR:指定初始化参数文件目录。

-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8.

-DDEFAULT_COLLATION:指定默认使用的字符集校队规则,utf8_general_ci是使用于UTF-8字符集的通用规则。

-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。

 

(4)编译并安装:

[root@localhost mysql-5.5.22]# make && make install    (编译 && 安装)

 

三、安装后的其他调整:

 

对数据库目录进行权限设置:

[root@localhost mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql/

 

建立配置文件:

在mysql源码目录中的support-files文件夹下,提供了适合不同负载数据库的样本配置文件。如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数企业的中等应用需求,根据以下参考内容建立mysql系统的/etc/my.cnf配置文件。

 

[root@localhost mysql-5.5.22]# rm -rf /etc/my.cnf  

 (如果原来etc文件夹下有my.cnf文件可以删除)

 

[root@localhost mysql-5.5.22]# cp support-files/my-medium.cnf  /etc/my.cnf

 

初始化数据库:

为了能够正常使用mysql数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_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    (立即生效)

 

四、添加系统服务:

若希望添加mysql系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本,找到support-files文件夹下的mysql.server脚本文件,将其复制到/etc/rc.d/init.d目录下,并改名为mysql,然后在设置执行权限,通过执行“chkconfig”命令将其添加为MySQL系统服务。

 

[root@localhost mysql-5.5.22]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld

[root@localhost mysql-5.5.22]# chmod a+x /etc/rc.d/init.d/mysqld

[root@localhost mysql-5.5.22]# chkconfig --add mysqld     

 

这样,以后就可以使用service工具或直接执行/etc/init.d/mysqld脚本来控制mysql数据库服务了。例如,若要启动mysqld服务,并查看其运行状态,可以执行以下操作。

 

[root@localhost mysql-5.5.22]# service mysqld start          (启动mysqld服务)

Starting MySQL..                                           [确定]

 

[root@localhost mysql-5.5.22]# /etc/init.d/mysqld status

MySQL running (51056)                                      [确定]

 

[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld       (查看监听端口)

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      51056/mysqld                   

 

MySQL服务器默认通过TCP 3306端口提供服务,通过编辑/etc/my.cnf配置文件中[mysqld]配置段的“port  =  3306”行,可以更改监听端口。

 

修改MySQL默认端口号:

[root@localhost mysql-5.5.22]# vim /etc/my.cnf

 

# The following options will be passed to all MySQL clients

[client]

#password       = your_password   (客户端加密地址)

port            = 3306      (客户端监听端口)

socket          = /tmp/mysql.sock   (套接字,用于描述IP地址和端口)

 

# Here follows entries for some specific programs

 

# The MySQL server

[mysqld]

port            = 3306     (服务器默认端口,更改为9800)

socket          = /tmp/mysql.sock    (套接字,用于描述IP地址和端口)

skip-external-locking

key_buffer_size = 16M

max_allowed_packet = 1M

table_open_cache = 64

sort_buffer_size = 512K

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

 

# Don't listen on a TCP/IP port at all. This can be a security enhancement,

 

保存退出后,重新启动mysqld服务

 

[root@localhost mysql-5.5.22]# /etc/init.d/mysqld restart   (重启mysqld服务)

 

[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld   (查看监听端口)

tcp        0      0 0.0.0.0:9800                0.0.0.0:*                   LISTEN      52450/mysqld            

 

五、访问MySQL数据库:

(1)登陆到MySQL服务器

经过安装后的初始化过程,MySQL数据库的默认管理员用户名为“root”,密码为空,若要以未设置密码的root用户登陆本机的MySQL数据库,可以执行一下操作。

 

[root@localhost ~]# mysql -u root       //“-u”选项用于指定认证用户

 

在有密码的情况下,还应该使用“-p”选项来进行密码校验。

 

[root@localhost ~]# mysql -u root –p

Enter password:                                     (根据提示输入正确的密码)

 

(2)执行MySQL操作语句:

验证成功以后将会进入提示符为“mysql>”的数据库操作环境,用户可以输入各种操作语句对数据库进行管理,每一条MySQL操作语句以分号“;”表示结束,输入时可以不区分大小写,但习惯上将MySQL语句中的关键字部分大写。

 

     例如,以用户名root登陆到“MySQL>”环境后,执行“SHOW  MASTER  LOGS”:语句可以查看当前数据库服务的日志文件信息。

 

mysql> SHOW MASTER LOGS;     (语句结束后,必须要加;)

+------------------+-----------+

| Log_name         | File_size |

+------------------+-----------+

| mysql-bin.000001 |     27338 |

| mysql-bin.000002 |   1031892 |

| mysql-bin.000003 |       107 |

+------------------+-----------+

3 rows in set (0.00 sec)

 

mysql>

 

 

(3)退出“mysql>”操作环境:

   在“MySQL>”操作环境中,执行“exit”或“quit”命令可以退出mysql命令工具,返回原来的shell环境。   (也可以用ctrl+c)

 

mysql> EXIT     (退出)

Bye

You have new mail in /var/spool/mail/root

[root@localhost ~]#

 

posted @   蟹老板的罐头鱼  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示