编译安装MySQL5.6.23
一、卸载旧版本
二、下载、编译、安装mysql
三、配置mysql
四、其他
一、卸载旧版本
检查当前主机上是否安装了mysql
[root@localhost php-5.4.41]# rpm -qa | grep mysql mysql-libs-5.1.71-1.el6.x86_64 rpm -e mysql-libs.x86_64 #删除 或者 rpm -e --nodeps mysql-libs.x86_64 #强制删除
二、下载、编译、安装mysql
1、安装编译代码需要的包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
2、下载源码包、解压后编译安装
[root@localhost php-5.4.41]# cd /root/downloads/ [root@localhost downloads]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.23.tar.gz [root@localhost downloads]# tar -xf mysql-5.6.23.tar.gz [root@localhost downloads]# cd /mysql-5.6.23
编译命令
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
编译完成后有提示信息
CMake Warning: Manually-specified variables were not used by the project: MYSQL_USER WITH_MEMORY_STORAGE_ENGINE WITH_READLINE -- Build files have been written to: /root/backup/mysqlsrc/mysql-5.6.23
安装,时间较长
[root@localhost mysql-5.6.23]# make && make install
相关选项作用
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径 -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置 -DSYSCONFDIR=/etc \ #my.cnf路径 -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎 -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎 -DWITH_READLINE=1 \ #快捷键功能(我没用过) -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径 -DMYSQL_TCP_PORT=3306 \ #端口 -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据 -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区 -DEXTRA_CHARSETS=all \ #安装所有的字符集 -DDEFAULT_CHARSET=utf8 \ #默认字符 -DDEFAULT_COLLATION=utf8_general_ci #默认校对规则 utf8_general_ci 不区分大小写 utf8_general_cs 区分大小写
编译的参数可以参考http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html。
三、配置mysql
1、设置权限
检查系统中是否存在mysql用户和组
grep mysql /etc/passwd grep mysql /etc/grou
没有就创建
groupadd mysql useradd -r -g mysql mysql
修改mysql目录中文件的权限
chown -R root:mysql /usr/local/mysql/* chown -R mysql:mysql /usr/local/mysql/data
2、初始化配置
进入安装目录执行初始化脚本,创建系统自带数据库和表
cd /usr/local/mysql/ scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3、服务程序配置
(1)、将服务程序路径添加到PATH环境变量中
新建/etc/profile.d/mysql.sh,添加内容保存退出,source一下
export PATH=/usr/local/mysql/bin:$PATH source /etc/profile #让上述配置立即生效
(2)、将服务脚本复制到/etc/init.d目录下,并添加到服务列表
cp support-files/mysql.server /etc/init.d/mysql[root@localhost mysql]# chkconfig mysql --add [root@localhost mysql]# chkconfig --list mysql mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
(3)、启动服务
[root@localhost mysql]# service mysql start Starting MySQL.... SUCCESS!
四、其他
完成上面三步,mysql编译安装已经完成,可以在该主机使用mysql命令进入mysql了
1、设置密码,查看mysql用户,为了安全,我们可以给默认用户root
mysql> USE mysql; #使用mysql数据库 mysql> SELECT user,host,password FROM user; #查看mysql用户 +------+-----------------------+----------+ | user | host | password | +------+-----------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+----------+
修改密码方法
1、mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘password‘); 2、bash命令行下# mysqladmin -uusername password ‘password‘ -p
为了安全我们可以将以下无密码项全部加上密码
mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘password‘); Query OK, 0 rows affected (0.00 sec) mysql> SELECT user,host,password FROM user; +------+-----------------------+-------------------------------------------+ | user | host | password | +------+-----------------------+-------------------------------------------+ | root | localhost | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+-------------------------------------------+ 6 rows in set (0.00 sec)
2、设置root远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘172.16.%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
此命令的password为远程访问时,root用户的密码,可以和本地不同。
3、配置防火墙
远程访问mysql,需要开启防火墙的3306端口
编辑/etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
然后重启iptables即可。
---------------------------------------------------------------------------------------------
操作步骤完全参照了该博客,过程简单明了http://www.cnblogs.com/xiongpq/p/3384681.html
本文出自 “Arvin Lau” 博客,请务必保留此出处http://64314491.blog.51cto.com/2784219/1652999
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。