`
liujun58love
  • 浏览: 15375 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

linux安装mysql数据库

阅读更多
很早就想把自己曾经做过的东西和在操作系统安装过的东西记录一下,一直没有时间,今天正好有空,先把自己在linux安装mysql的过程记录一下,便于以后查看.

环境:centos5.4
mysql版本:mysql-5.0.18.tar.gz

安装过程如下:
[root@localhost root]#tar -xvf mysql-3.23.53.tar.gz
解压之后进入该文件夹:

[root@localhost root]#cd mysql
建立mysql用户和mysql组:

[root@localhost root]#groupadd mysql
[root@localhost root]#useradd –g mysql mysql
在这里建立一个mysql用户和组的目的是:要给mysql数据库一个启动的用户和组,这样可以不用以管理员(root)的身份去启动mysql,大大的提高了服务器的安全。
然后给mysql用户设置一个密码:
[root@localhost root]#passwd mysql
然后编译mysql,目的是为mysql设置一些参数选项:


[root@localhost root]#
./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci   

①——prefix选项意思是:把文件安装在后面参数的目录里面。
②——without-debug 选项意思是:关闭调试选项。
③——with-extracharsets=gb2312 选项意思是:安装扩展字符为gb2312。
④——enable-assember 选项意思是:使用一些字符函数的汇编版本。
⑤——with-mysqld-ldflags 选项意思是:以纯静态方式编译服务端和客户端。

开始执行make:

[root@localhost root]#make
[root@localhost root]#make install

完成后进入scripts目录执行:

[root@localhost root]#./scripts/mysql_install_db
[root@localhost root]#cp support-files/my-medium.cnf  /etc/my.cnf
[root@localhost root]#cp support-files/mysql.server  /etc/init.d/mysqld

完成配置文件和启动文件的复制后,执行修改文件权限的命令:
[root@localhost root]#chmod 700 /etc/init.d/mysqld
[root@localhost root]#cd /usr/tools/mysql
[root@localhost root]#chown -R root mysql
[root@localhost root]#chown -R mysql mysql/var
[root@localhost root]#chgrp -R mysql mysql

权限修改完毕后,复制启动文件,修改启动选项:

[root@localhost root]#chkconfig --add mysqld
[root@localhost root]#chkconfig --level 345 mysqld on
[root@localhost root]#service mysqld start


提示:如果在编译过程中出现

checking for tgetent in -ltermcap… no
checking for termcap functions library… configure: error: No curses/termcap library found

下载 ncurses-5.7.tar.gz

并源码安装之(静态库版)
  tar xvfz ncurses-5.7.tar.gz
  ./configure --prefix=/home/nemo/ncurses
  make && make install
 
  并源码安装之(动态库版)
  ./configure --prefix=/home/nemo/ncurses  -–with-shared –-without-debug
  make && make install
  设置添加安装路径到环境变量 /home/nemo/ncurses
  方法如下:
导到登陆用户的根目录(这里我用的是root,所以它的根目录是~),
cd ~
使用 ls –la | more 查看到一个.profile.bash文件
Vi profile.bash文件
在$PATH 后添加 : /home/nemo/ncurses安装路径
然后退出重新登陆,通过env查看环境变量下$PATH是否添加进去
然后在重新编译mysql
./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci 

如果还是出现上述错误,则需要安装一个依赖包

ncurses-devel-5.5-24.20060715.i386.rpm

安装依赖包
rpm -ivh /software(这个是我存放这个软件包的目录)/ncurses-devel-5.5-24.20060715.i386.rpm

安装完成后

在进入mysql目录进行编译mysql

./configure --prefix=/usr/tools/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_unicode_ci 

应该就不会有什么问题了



接下来将mysql安装目录的bin目录放到系统的环境变量当中,便于直接登录系统后可以直接使用 mysql -uroot(用户名) -pxxx(密码)登录到系统

找到mysql安装目录: /usr/tools/mysql/bin
通过  vi /etc/profile
在PATH=$JAVA_HOME/bin:$PATH后添加 mysql的目录路径
PATH=$JAVA_HOME/bin:$PATH:/usr/tools/mysql/bin
然后退出系统重新登陆
查看env
PATH=/usr/java/jdk1.6.0_19/bin:/usr/tools/mysql/bin/

然后就可以使用 msyql -uroot -pxxx 登陆一下你的mysql后台


注:修改mysql密码的方法

mysql -u用户名 -p密码
mysql> use mysql; 使用mysql database
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='用户名';  
mysql> FLUSH PRIVILEGES;  
mysql> QUIT

最新出现了在启动数据库时,报一个错误

Starting MySQL.The server quit without updating PID file (/[FAILED]l/mysql/var/localhost.localdomain.pid).

解决办法:

#cd /usr/local/mysql(进入mysql安装目录)
#chown -R mysql:mysql .
$scripts/mysql_install_db 重新初始化一下数据库表结构,出错之前的数据库表结构不会丢失,这个可以确保

最后在重启mysql数据库
service mysql start

后续,由于后续安装新的版本,发现新的版本和老的版本有些诧异,自己在网上找了一下,感觉这个文章介绍的比较详细,也比较清楚,所以,将操作步骤记录下来,以备后续使用。

一:卸载旧版本
使用下面的命令检查是否安装有MySQL Server


代码如下:

rpm -qa | grep mysql


有的话通过下面的命令来卸载掉


代码如下:

rpm -e mysql //普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除



安装MySQL
安装编译代码需要的包


代码如下:

yum -y install make gcc-c++ cmake bison-devel ncurses-devel


下载MySQL 5.6.19


tar xvf mysql-5.6.19.tar.gz
cd mysql-5.6.19

或者使用 wget url 在线下载文件


编译安装

代码如下:

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install


编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
整个过程需要30分钟左右……漫长的等待

三:配置MySQL
设置权限
使用下面的命令查看是否有mysql用户及用户组



代码如下:

cat /etc/passwd 查看用户列表
cat /etc/group 查看用户组列表


如果没有就创建




代码如下:

groupadd mysql
useradd -g mysql mysql


修改/usr/local/mysql权限




代码如下:

chown -R mysql:mysql /usr/local/mysql


修改/usr/local/mysql权限
初始化配置
进入安装路径



代码如下:

cd /usr/local/mysql


进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表


代码如下:

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql


注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

启动MySQL
添加服务,拷贝服务脚本到init.d目录,并设置开机启动



代码如下:

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动MySQL



配置用户
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加




复制代码
代码如下:

PATH=/usr/local/mysql/bin:$PATH
export PATH


关闭文件,运行下面的命令,让配置立即生效



复制代码
代码如下:

source /etc/profile


现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码



复制代码
代码如下:

mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');


若要设置root用户可以远程访问,执行



复制代码
代码如下:

mysql> GRANT ALL PRIVILEGES ON *.* TO <a href="mailto:'root'@'172.16.%'">'root'@'172.16.%'</a> IDENTIFIED BY 'password' WITH GRANT OPTION;


红色的password为远程访问时,root用户的密码,可以和本地不同。

配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:




复制代码
代码如下:

-A INPUT m state --state NEW m tcp p dport 3306 j ACCEPT


然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:



复制代码
代码如下:

service iptables restart



分享到:
评论

相关推荐

    Linux安装MySQL数据库.pdf

    安装 MySQL 数据库在 Linux 系统上需要经过一系列的步骤,包括下载安装包、解压、配置和编译、安装、创建 MySQL 相关用户、配置 MySQL 数据库环境、初始化系统数据库、修改数据库安全性等。本文将详细讲解这些步骤。...

    Linux安装MySQL数据库(安装验证)

    ### Linux安装MySQL数据库详解 #### 一、前言 本文将详细介绍如何在Linux环境下通过编译的方式安装MySQL数据库,并对整个过程中的关键步骤进行详细解释。安装MySQL数据库是许多项目的基础工作之一,尤其是在需要高...

    linux安装mysql数据库,OA数据包

    首先选择数据库为mysql,接着修改数据库密码为123456,和数据库端口号为3306,点击连接测试,测试成功后点击下一步,然后点击设置按钮,就可以访问oa了。 可以直接点击按钮访问,也可以将页面地址改为只剩cwoa2011...

    linux安装mysql数据库以及配置Java项目的图文详解

    Linux安装MySQL数据库以及配置Java项目的图文详解 本篇文章将对Linux安装MySQL数据库和配置Java项目进行详细的图文解释。 一、安装 MySQL 数据库 在Linux系统中安装MySQL数据库需要经过多个步骤。首先,需要下载...

    Linux操作系统中如何安装MySQL数据库

    "Linux操作系统中如何安装MySQL数据库" 在 Linux 操作系统中,安装 MySQL 数据库是非常重要的一步,对于大多数的 web 应用程序来说,都是必不可少的。本文将详细介绍如何在 Linux 操作系统中安装 MySQL 数据库。 ...

    Linux安装MySQL数据库[归纳].pdf

    在Linux环境中安装MySQL数据库是一个重要的任务,特别是在软件开发领域,MySQL是广泛使用的开源关系型数据库管理系统。本篇文章将详细介绍在Linux上安装MySQL的过程,包括下载安装包、解压、配置、编译、安装、创建...

    Linux安装MySQL数据库[参照].pdf

    在Linux系统中安装MySQL数据库是一项基础且重要的任务,尤其对于那些需要进行服务器管理或开发基于数据库的应用的人来说。本文将详细讲解如何在Linux环境下安装MySQL 5.1.30版本,包括下载安装包、解压、配置、编译...

    linux下mysql数据库

    根据给定的文件信息,以下是对“Linux下MySQL数据库”的相关知识点进行的详细解析: ### Linux下MySQL数据库 #### 常用命令操作 在Linux环境下操作MySQL数据库时,掌握一系列基本命令对于日常管理和维护至关重要...

    Linux安装mysql

    Linux安装MySQL数据库 在 Linux 系统中安装 MySQL 数据库是一件非常重要的事情,本篇文章将手把手地教您从零开始安装 MySQL,并启动服务。 标题解释 文章标题“Linux安装mysql”说的就是在 Linux 系统中安装 MySQL...

    麒麟V10安装MySQL数据库

    在麒麟V10操作系统上安装MySQL数据库的过程涉及到几个关键步骤,这包括使用麒麟软件商店安装基础版本以及通过命令行进行更深入的配置。下面将详细解释这些步骤,并讨论在麒麟V10上安装MySQL时可能遇到的问题及解决...

    Linux平台的MySQL数据库操作与创建.pdf

    Linux平台的MySQL数据库操作与创建 Linux操作系统和MySQL数据库是当前最流行的系统平台和应用软件。...* 本文提供了详细的安装、配置和操作步骤,旨在帮助读者快速掌握Linux平台的MySQL数据库操作和创建。

    linux下QT连接mysql数据库.doc

    QT 连接 MySQL 数据库在 Linux 平台下的实现 在 Linux 平台下,使用 QT 连接 MySQL 数据库是一种常见的应用场景。本文将详细介绍如何使用 QT 连接 MySQL 数据库,并提供了相关的代码示例。 首先,需要安装 MySQL ...

    linux下导入导出mysql数据库及其导出数据命令大汇总

    Linux 下 MySQL 数据库导入导出命令大汇总 Linux 作为一个广泛应用于服务器操作系统的平台,MySQL 作为一个流行的关系数据库管理系统,在 Linux 下的使用非常广泛。因此,掌握 Linux 下 MySQL 数据库的导入导出命令...

    linux一键安装mysql5.6数据库

    解压后,将文件放到/opt/softpackage文件夹下,在shell中输入命令 sh install_mysql_5_6 回车就可以了,详情看下这篇文章 https://www.jianshu.com/p/ceae5f329559

    如何在linux下实现mysql数据库每天自动备份 txt

    ### 如何在Linux下实现MySQL数据库每天自动备份 在Linux环境下进行MySQL数据库的日常自动备份是一项重要的维护工作,它能够确保数据的安全性与完整性。本文将详细介绍如何通过编写Shell脚本并结合Cron定时任务来...

Global site tag (gtag.js) - Google Analytics