### 一, 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](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](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](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位。
~~~
![](https://box.kancloud.cn/2016-03-29_56fa2a0a00289.jpg)
### 七, Mysql状态查看
mysql> status;
![](https://box.kancloud.cn/2016-03-29_56fa2a0a5e3ce.jpg)
### 八,Linux中连接远程mysql数据库
用root用户,密码为123456,连接IP:192.168.1.100,端口为3306。
` # mysql -uroot -p123456 -h 192.168.1.100 -P3306`
### 九,Navicat连接远程mysql设置
1) 连接配置。(单击连接)
![](https://box.kancloud.cn/2016-03-29_56fa2a0a82ba0.jpg)
2)编码配置。(选择连接的页签,单击右键,选择连接属性)
如果在写入的时候是gbk,那么使用navicat读出来的时候也应该使用gbk,不用管数据库是用什么编码存放的。如果写入的时候是utf8,那么客户端读取数据的时候也应该使用utf8.如下图,php写入的时候是gbk,那么navicat读出数据需要用gbk编码。设置为:936 (ANSI/OEM - Simplified Chinese GBK)
![](https://box.kancloud.cn/2016-03-29_56fa2a0a98694.jpg)
**版权声明:**
1)原创作品,出自"CleverCode的博客",转载时请务必注明以下原创地址,否则追究版权法律责任。
2)原创地址:[http://blog.csdn.net/clevercode/article/details/45499231](http://blog.csdn.net/clevercode/article/details/45499231)(转载务必注明该地址)。
3)博客专栏地址(Linux常用软件安装与配置):[http://blog.csdn.net/column/details/linuxsoftwareinstall.html](http://blog.csdn.net/column/details/linuxsoftwareinstall.html)(持续增加,关注请收藏)。
4)欢迎大家关注我博客更多的精彩内容:[http://blog.csdn.net/CleverCode](http://blog.csdn.net/CleverCode)。