(转)linux下搭建mysql

一, Mysql简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

二, Mysql下载

    1)下载cmake(MySQL编译工具)
    wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz

    2)下载Mysql。由于版本更新可能以前版本已不存在。进入mysql查找即可。
http://dev.mysql.com/Downloads/MySQL-5.5/mysql-5.5.27.tar.gz

    3)本次安装所有的软件资源包下载地址

http://download.csdn.net/detail/clevercode/8662323

三, Mysql安装
3.1 配置防火墙

    1) 在防火墙配置文件中添加一行3306端口

 # vi /etc/sysconfig/iptables   #编辑防火墙配置文件       -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)  

    2)重启防火墙

    # /etc/init.d/iptables restart  #最后重启防火墙使配置生效     
3.2 安装cmake

    1) 解压。安装前确保进行安装Linux常备支持库,Linux中必备常用支持库的安装:http://blog.csdn.net/clevercode/article/details/45438401

    # cd /usr/local/src/mysql     # tar zxvf cmake-2.8.8.tar.gz     # cd cmake-2.8.8  

    2) 配置

    # ./configure  

    3) 编译

    # make 

    4) 安装

    # make install     

    5 )查看版本

    # cmake -version 
3.3 安装Mysql

1) 创建用户

 # groupadd mysql  #添加mysql组      # useradd -g mysql mysql -s /bin/false  #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统  

2) 配置MySQL数据库存放目录与安装目录

 # mkdir -p /data0/mysql  #创建MySQL数据库存放目录      # chown -R mysql:mysql /data0/mysql   #设置MySQL数据库目录权限  # mkdir -p /usr/local/mysql #创建MySQL安装目录  

3) 解压

 # cd /usr/local/src/mysql  # tar zxvf mysql-5.5.27.tar.gz  # cd mysql-5.5.27  

4) 配置

 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  -DMYSQL_DATADIR=/data0/mysql  -DSYSCONFDIR=/etc  

5)编译

 # make 

6)安装
# make install

7) 配置my.cnf
方式一:手动修改

 # cd /usr/local/mysql      # cp ./support-files/my-huge.cnf  /etc/my.cnf    #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)      # vi /etc/my.cnf   #编辑配置文件,在 [mysqld] 部分增加下面一行     datadir = /data0/mysql  #添加MySQL数据库路径     :wq!  #保存退出   

方式二:使用已经配置好的文件(配置文件下载地址:  http://download.csdn.net/detail/clevercode/8662323
备份

 # cp /etc/my.cnf /etc/my.cnf_bak_20141117  # cd /etc  # rz my.cnf  

8) 生成mysql系统数据库

 # cd /usr/local/mysql  # ./scripts/mysql_install_db --user=mysql  

9) 把Mysql加入系统启动

 # cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld  #把Mysql加入系统启动      # chmod 755 /etc/init.d/mysqld   #增加执行权限     /******* chkconfig mysqld on ****/ #设置开机启动 (如果机器重启,最好手动重启服务,因为不知道哪些服务需要先起来,所以一般不加入开机启动,所以注释)   # vi /etc/rc.d/init.d/mysqld  #编辑     basedir=/usr/local/mysql   #MySQL程序安装路径     datadir=/data0/mysql  #MySQl数据库存放目录     service mysqld start  #启动  

10) 把mysql服务加入系统环境变量

 # vi /etc/profile   #把mysql服务加入系统环境变量:在最后添加下面这一行     export PATH=$PATH:/usr/local/mysql/bin     :wq! #保存退出  

11) 指定mysql的库文件地址
下面这两行把myslq的库文件链接到系统默认的位置,在编译类似PHP等软件时可以不用指定mysql的库文件地址。   

 # ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql      # ln -s /usr/local/mysql/include/mysql /usr/include/mysql  

12) 修改Mysql的root密码。安装完mysql后,root的默认密码为空。
方式一:
mysql默认root用户没有密码,输入mysql -uroot 进入mysql

 # mysql -uroot  
mysql>update user set password=PASSWORD(‘123456’) where User='root';  
mysql>flush privileges;  

方式二:
1)如果是刚安装完mysql或者密码为空,是用以下方式修改。
# /usr/local/mysql/bin/mysqladmin -u root password "123456"
2) 如果不是刚安装完并且密码不为空,使用以下方式。即加入-p,提示需要输入旧密码。
# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"

13) 重启

 # service mysqld restart  
四, Mysql启动停止重启

    1) 状态
     # service mysqld status
    2) 启动
     # service mysqld start
    3)停止
     # service mysqld stop
    4) 重启   
     # service mysqld restart
    5) 查看3306端口监听状态
     # netstat -an | grep 3306

五, Mysql配置远程登录

    1)配置所有IP可以访问

        #mysql -uroot -p123456         mysql> grant all privileges on  *.* to 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;         mysql> flush privileges;  

    2)配置制定IP可以访问
        如果你想允许用户jack从ip为10.10.50.127的主机连接到mysql服务器,并使用654321作为密码

        mysql>GRANT ALL PRIVILEGES ON *.* TO 'jack'@’101.10.50.127’ IDENTIFIED BY '654321' WITH GRANT OPTION;         mysql>FLUSH RIVILEGES;  

    3)配置一个类似root用户可以有所有权限的用户

        mysql> grant all privileges on  *.* to 'clevercode'@'%' IDENTIFIED BY 'clevercode#er239' WITH GRANT OPTION;         mysql> flush privileges;      
六,6 Mysql查看位数
    mysql> show variables like '%version_%';     version_compile_machine:i686 为32位,x86_64为64位。 

七, Mysql状态查看

mysql> status;

八,Linux中连接远程mysql数据库

用root用户,密码为123456,连接IP:192.168.1.100,端口为3306。

# mysql -uroot -p123456 -h 192.168.1.100 -P3306

九,Navicat连接远程mysql设置

1) 连接配置。(单击连接)

2)编码配置。(选择连接的页签,单击右键,选择连接属性)

如果在写入的时候是gbk,那么使用navicat读出来的时候也应该使用gbk,不用管数据库是用什么编码存放的。如果写入的时候是utf8,那么客户端读取数据的时候也应该使用utf8.如下图,php写入的时候是gbk,那么navicat读出数据需要用gbk编码。设置为:936 (ANSI/OEM - Simplified Chinese GBK)

 

原创地址:http://blog.csdn.net/clevercode/article/details/45499231(转载务必注明该地址)。

posted @ 2016-06-16 17:37  姩澕  阅读(222)  评论(0编辑  收藏  举报