Linux中Mysql安装与使用(CentOS-6.5:mysql-5.5.27)



1 Mysql简介

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


2 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


3 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


4 Mysql启动停止重启

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


5 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位。

技术分享


7 Mysql状态查看

 mysql> status;

技术分享


8 Navicat连接编码设置

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

技术分享


原创作品,出自"CleverCode的博客",转载时请务必注明以下原创地址,否则追究版权法律责任。

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

欢迎大家关注我博客更多的精彩内容:http://blog.csdn.net/CleverCode



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。