MySQL源码安装
许多时候,安装MySQL是一项简单的任务,比如,RPM包安装。但是如何安装一台更加流畅运行、性能高要求的MySQL则需要其他的安装方式。比如,二进制包或源码包。
下载源码包可以访问以下地址,(选择不同操作系统不同版本安装包):http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

接下来进行安装步骤:
1、使用root用户登录系统,添加mysql用户和组,将数据库安装此用户下:
[root@kai ~]# groupadd mysql
[root@kai ~]# useradd -g mysql mysql
2、创建数据库和数据文件相关目录:
[root@kai local]# mkdir -p /usr/local/mysql
[root@kai local]# chown -R mysql.mysql /usr/local/mysql
[root@kai /]# mkdir -p /data/comall/file
[root@kai /]# mkdir -p /data/comall/log
[root@kai /]# chown -R mysql.mysql /data
2、解压源码包,进入解压目录:
[root@kai tmp]# gunzip < mysql-5.6.36.tar.gz | tar -xvf -
3、开始用cmake编译,将mysql安装到指定的目录下,比如/usr/local/mysql,如果系统中未安装cmake可以使用yum来安装:
[root@kai ~]# yum -y install cmak
开始编译:
[root@kai ~]# cd /tmp/mysql-5.6.36
[root@kai mysql-5.6.36]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/comall/file -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
- 参数说明:
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //指定安装目录
-DINSTALL_DATADIR=/data/comall/data //指定数据存放目录
-DSYSCONFDIR=/etc //指定配置文件my.cnf目录
-DDEFAULT_CHARSET=utf8 //指定字符集
-DDEFAULT_COLLATION=utf8_general_ci //指定校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
编译以以下三条记录结束,开始make和make install:
— Configuring done
— Generating done
— Build files have been written to: /tmp/mysql-5.6.36
[root@kai mysql-5.6.36]# make && make install
Scanning dependencies of target INFO_BIN
4、去修改my.cnf文件,需要注意的是根据版本支持的参数而定义,坑:在client中不能指定pid_file,其他一些不支持参数参考error.log中启动的报错信息。
5、创建系统数据库和系统表 ,将数据库和表用户指定为mysql:
[root@kai mysql]# cd /usr/local/mysql
[root@kai mysql]# bin/mysql_install_db — user=mysql — datadir=/data/comall/file/
6、使用mysql.server启动mysql:
[root@kai mysql]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL…[确定]
7、修改root密码:
root@kai mysql]# /usr/local/mysql/bin/mysqladmin -u root password ‘mysql’
Warning: Using a password on the command line interface can be insecure.
8、登录并创建用户账号:
[root@localhost][(none)]> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.%’ IDENTIFIED BY ‘mysql’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
[root@localhost][(none)]> GRANT SELECT ON *.* TO ‘readonly’@’192.168.1.%’ IDENTIFIED BY ‘readonly’;
Query OK, 0 rows affected (0.00 sec) //创建一个用户只读的账号
9、添加开机启动:
[root@kai mysql]# cd /usr/local/mysql/
[root@kai mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@kai mysql]# chmod 755 /etc/init.d/mysqld
[root@kai mysql]# chkconfig mysqld on
[root@kai mysql]# service mysqld stop
Shutting down MySQL.[确定]
[root@kai mysql]# service mysqld start
Starting MySQL…[确定]
--待续
