首页 > 数据库 >搭建mysql 初始环境

搭建mysql 初始环境

时间:2023-05-26 13:22:44浏览次数:56  
标签:5.5 22 mysqld 初始 mysql root localhost 搭建

安装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 ~]#

 

标签:5.5,22,mysqld,初始,mysql,root,localhost,搭建
From: https://www.cnblogs.com/smile020420/p/17434460.html

相关文章

  • MySQL语句练习操作和维护
    六、使用MySQL数据库:(1)SHOW DATABASES语句:用于查看当前MySQL服务器中包含的库。经初始化后的MySQL服务器,默认建立了四个库:test、MySQL、information_schema和performance_schema,(其中MySQL库中包含了用户认证相关表),执行以下操作可以进行查看。 mysql>SHOWDATABASES;+------......
  • Mysql表外连接和约束和自增
    1. mysql 表外连接  7821.1 提出一个问题1.前面我们学习的查询,是利用where子句对两张表或者多张表,形成的笛卡尔积进行筛根据关联条件,显示所有匹配的记录,匹配不上的,不显示2.比如:列出部门名称和这些部门的员工名称和工作,同时要求显示出那些没有员工的部门。3. 使用我们学习过......
  • Mysql索引
    1. 索引快速入门  791说起提高数据库性能,索引是最物美价廉的东西了。不用加内存,不用改程序,不用调sql,查询速度就可能提高百倍干倍。这里我们举例说明索引的好处[构建海量表8000000] 是不是建立一个索引就能解决所有的问题?ename.上没有建立索引会怎样?select * from emp wh......
  • mysql事务
    1. mysql 事务1.1 什么是事务事务用于保证数据的一致性,它由一组相关的dml语句组成该组的dml语句要么全部成功,要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性。2. 事务和锁  796-797当执行事务操作时(dml语句) ,mysql会在表 上加锁,防止其它用户改表的数据.这对......
  • mysql表类型和存储引擎和视图
    1. mysql表类型和存储引擎  8031.1 基本介绍1. MySQL的表类型由存储引擎(Storage Engines)决定,主要包括MyISAM、innoDB、Memory等。2. MySQL数据表主要支持六种类型,分别是: CSV、 Memory、ARCHIVE、MRG_MYISAM、MYISAM、 InnoBDB.3.这六种又分为两类,一类是”事务安全型”......
  • mysql用户管理
    1. Mysql 用户  808其中user表的重要字段说明:1. host: 允许登录的"位置”, localhost表示该用户只允许本机登录,也可以指定ip地址,比如:192.168.1.1002. user: 用户名;3. authentication string:密码,是通过mysql的password()函数加密之后的密码。1.1 创建用户  808cre......
  • 一步一步搭建Svn服务之TortoiseSVN基本操作
        SVN作为源代码文件版本管理的工具,在日常项目中,经常使用到。没有使用过SVN的用户,经常不知道如何操作。这篇文章主要介绍了客户端TortoiseSVN基本操作(图文教程),需要的朋友们下面随着我来一起学习吧。一、导入本地项目到SVN    svn中默认是没有任何项目代码的,需要......
  • 数据库系列-MYSQL篇之-主从同步
    1主从同步概述mysql主从同步,即MySQLReplication,可以实现将数据从一台数据库服务器同步到多台数据库服务器。MySQL数据库自带主从同步功能,经过配置,可以实现基于库、表结构的多种方案的主从同步。可以对MySQL做主从架构并且进行读写分离,让主服务器(Master)处理写请求,从服务器(Sla......
  • MySQL中--skip-password参数作用
     MySQL中--skip-password参数探究 本篇使用客户端:mysql版本:MySQL8认证插件:mysql_native_password对于初始化数据库时,若是使用了--initialize-inscure选项,则对于用户root@localhost会使用空密码。2023-05-26T09:20:21.205673+08:006[Warning][MY-010453][Server]roo......
  • mysql创建用户及分配操作权限
    MySQL在安装时,会默认创建一个名为root的用户,该用户拥有超级权限,可以控制整个MySQL服务器,所以如果滥用root账户,对于系统来说是很不安全的。MySQL提供了以下3种方法创建用户。使用GRANT语句创建用户使用CREATEUSER语句创建用户在mysql.user表中添加用户1.使......