一、安装
1.安装所需要系统库相关库文件,其中有一两个包安装不上,尽量安装所有的包。使用yum -y install分别安装下面每一个包
gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
2.安装cmake,下载cmake-2.8.4.tar.gz,解压,到cmake的主目录中,执行如下命令
./configure make make install
3.下载mysql源码,下载链接:http://dev.mysql.com/downloads/mirrors.html (进官网,下载,社区版,Other Downloads,mirrors关键词);找到某个站点--》找到mysql-5.6.24.tar.gz,这个就是源码了,有CMakeLists.txt文件的才是源码,不是源码编译会提示 not appear to contain CMakeLists.txt
4.创建用户和组、目录,并赋予权限
useradd mysql passwd mysql #修改mysql用户的密码 mkdir /apps/mysql/install #创建mysql安装目录 mkdir /apps/mysql/data #创建数据存放目录 chown -R mysql:mysql /apps/mysql/
5.解压后进入主目录,运行命令
cmake . -DCMAKE_INSTALL_PREFIX=/apps/mysql/install -DMYSQL_UNIX_ADDR=/apps/mysql/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/apps/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
/apps/mysql/install是前面建的mysql安装目录
/apps/mysql/data是前面建的mysql数据存储目录
-DMYSQL_USER=mysql,默认mysql进程创建的文件所属的用户,可以是一般新建一个mysql用户,管理mysql进程产生的数据等等
6.运行其他命令
make make install
参考:Linux下MySQL 5.5.11编译安装笔记(完整安装教程)
二、配置
1.切换到mysql的安装目录。如果/etc/my.cnf文件存在,则覆盖。修改my.cnf的内容,设置basedir=/apps/mysql/install,datadir=/apps/mysql/data,port=3306。
cp support-files/my-default.cnf /etc/my.cnf #my-default.cnf在mysql的安装目录下
2.初始化mysql数据库,生成mysql授权表,执行如下命令,--datadir对应编译时的-DMYSQL_DATADIR,--basedir对应编译时的-DCMAKE_INSTALL_PREFIX, 没加时使用编译时默认的目录。--user对应-DMYSQL_USER,是mysql进程以后产生的mysql文件都属于此用户。
scripts/mysql_install_db --user=mysql --basedir=/apps/mysql/install --datadir=/apps/mysql/data --defaults-file=/etc/my.cnf
第一步也可以省略,如果直接设置defaults-file=support-files/my-default.cnf的话
3复制mysql服务启动脚本(将脚本放入init.d中,使得可以使用service mysql restart等命令)及设置环境变量
cp support-files/mysql.server /etc/init.d/mysql
修改mysql,设置basedir=/apps/mysql/install,datadir=/apps/mysql/data。有可能导致/etc/init.d/mysql没有执行权限,此处注意一下。
修改环境变量,vi /etc/profile,在文件末尾添加如下内容,修改后使用source /etc/profile命令:
export PATH=/apps/mysql/install/bin:/apps/mysql/install/lib:$PATH
启动mysql
service mysql start #启动mysql进程 ps -ef | grep mysql #查询mysql进程
3.修改mysql的root用户密码,执行如下命令:
mysqladmin -u root password '123456'
4.关闭服务器上的防火墙,或者打开3306端口。
5.进入mysql命令行模式,mysql -u root -p,输入密码,mysql的默认管理员用户是root。
1)改变当前数据库为mysql:
use mysql;
2)设置从本地主机登录的root帐号密码:
set password for root@localhost=password('123456');
3)删除匿名帐号:
delete from user where user='';
4)删除密码为空的帐号:
delete from user where password='';
删除允许非localhost主机登录的帐号:
delete from user where host<>'localhost';
设置root帐号可以远程登录:
update user set host = '%' where user = 'root';
执行上面的命令之后,一定要执行下面的命令使更改生效:
flush privileges;
参考:
Linux CentOS6.5下编译安装MySQL 5.6.22【给力详细教程】