安装mysql可以说是lamp环境搭建中最复杂的一步,下面我们来看下具体的安装步骤吧

1、安装 ncurses

Ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标,建立
窗口,改变前景背景颜色以及处理鼠标操作的函数。使用户在字符终端下编写应
用程序时绕过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接
控制终端屏幕显示的函数库。

[root@centos6 ~]#yum -y install ncurses-devel

* 注:如果报错,包找不到,是 通配符没有识别,
给文件名加双引号 "ncurses" yum -y install "ncurses"

2、安装所需工具和库

[root@centos6 ~]#yum -y install gcc-c++ cmake bison make perl

创建MySQL伪用户

安装 MySQL

[root@centos6 ~]#groupadd mysql
[root@centos6 ~]#useradd -g mysql mysql

*添加用户组 mysql,将 mysql 用户默认组设置为 mysql 用户组

[root@centos6 ~]#cd /usr/local/src/mysql-5.6.33
[root@centos6 mysql-5.6.33]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
-DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
雷小天博客

在这一步为了防止不报错,最好是手动一个一个敲,敲完一行后空格加反斜杠换行,最好一个不用直接回车确定

另附参数说明::

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 安装位置
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 指定 socket (套接字)文件位置
-DEXTRA_CHARSETS=all 扩展字符支持
-DDEFAULT_CHARSET=utf8 默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 默认字符校对
-DWITH_MYISAM_STORAGE_ENGINE=1 安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 安装 innodb 存储引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 安装 memory存储引擎
-DWITH_READLINE=1 支持 readline 库
-DENABLED_LOCAL_INFILE=1 启用加载本地数据
-DMYSQL_USER=mysql 指定 mysql 运行用户

-DMYSQL_DATADIR 设置MySQL数据存放目录

-DMYSQL_TCP_PORT=3306 指定 mysql 端口

[root@centos6 mysql-5.6.33]# make
[root@centos6 mysql-5.6.33]# make install

注意:如果安装出错,需要重新配置的话,要删除/usr/local/src/mysql-5.6.33目录下的 CMakeCache.txt文件
rm -rf CMakeCache.txt

3、修改mysql目录所有者和组

cd /usr/local/mysql/
[root@centos6 mysql]#chown -R mysql .
[root@centos6 mysql]#chgrp -R mysql .

4、初始化数据库

[root@centos6 mysql]#/usr/local/mysql/scripts/mysql_install_db --user=mysql

5、修改 mysql 目录权限 创建数据库授权表

cd /usr/local/mysql
[root@centos6 mysql]#chown -R root .
[root@centos6 mysql]#chown -R mysql data 

6、复制 mysql 配置文件

[root@centos6 mysql]#cp /usr/local/mysql/support-files/my-default.cnf  /etc/my.cnf

注:弹出选择窗,如果有,请覆盖输入 y

7、再一次初始化数据库

[root@centos6 mysql]#/usr/local/mysql/scripts/mysql_install_db --user=mysql

8、启动 MySQL服务

用原本源代码的方式去使用和启动 mysql

[root@centos6 mysql]#/usr/local/mysql/bin/mysqld_safe --user=mysql &

出现下面的字样,表示启动成功了!

雷小天博客

9、检查mysql是否启动

netstat -tulnp | grep 3306

写入/etc/rc.local 保证开机自启动MySQL

vim /etc/rc.local

/usr/local/mysql/bin/mysqld_safe --user=mysql &

:wq 保存并退出

10、登录一下试试,此时的密码为空直接回车即可 然后去重新设置MySQL的登录密码为123456

[root@centos6 mysql]#/usr/local/mysql/bin/mysql -u root -p
mysql>show databases;
mysql>\s

查看字符集是否改为 utf8 如果显示并非所有的为utf8则需要修改 具体如果修改请往下看,如何已经为utf8则不必进行下列的修改字符集步骤

*进入 mysql 以后用 set 来改密码
mysql>SET PASSWORD=PASSWORD('root123');
mysql>exit

11、Linux下MySQL的修改字符集编码为UTF8(解决中文乱码问题)

修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):
1、在[client]字段里加入default-character-set=utf8,如下:

[client]
default-character-set=utf8

2、在[mysqld]字段里加入character-set-server=utf8,如下:

[mysqld]
character-set-server=utf8

3、在[mysql]字段里加入default-character-set=utf8,如下:

[mysql]
default-character-set=utf8

修改完成后,重启MySQL

[root@centos6 mysql]#/usr/local/mysql/bin/mysqladmin -uroot -p123456 shutdown

[root@centos6 mysql]#/usr/local/mysql/bin/mysqld_safe --user=mysql &

12、配置MySQL远程连接

打开iptables 3306端口

雷小天博客

输入账号和密码进入MySQL管理

[root@centos6 mysql]#/usr/local/mysql/bin/mysql -u root -p

mysql>create database blog;

mysql>show databases; 

+--------------------+

| Database           |

+--------------------+

| information_schema |

| blog               |

| mysql              |

| performance_schema |

| test               |

+--------------------+

5 rows in set (0.01 sec)

mysql> grant all privileges on blog.* to leixiaotian@'%' identified by '123456';

Query OK, 0 rows affected (0.02 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

mysql> exit;