首页 > 代码库 > 编译安装mysql

编译安装mysql

参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html

安装mysql5.6.17

1.按照标准需要给mysql创建所属用户和用户组

创建群组groupadd mysql创建一个用户,不允许登陆和不创主目录 useradd -s /sbin/nologin -g mysql -M mysql检查创建用户tail -1 /etc/passwd

2.MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。

wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz tar zxvf cmake-2.8.12.2.tar.gz cd cmake-2.8.12.2 ./configure make && make install

3.使用cmake来编译安装mysql5.6.17

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17.tar.gztar zxvf mysql-5.6.17.tar.gzcd mysql-5.6.17cmake -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 -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_SSL=systemmake && make install

修改/usr/local/mysql权限

chmod +w /usr/local/mysqlchown -R mysql:mysql /usr/local/mysql

关于my.cnf配置文件:

在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索”$basedir/my.cnf” 就是安装目录下 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置! 注意:在CentOS 6.x版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字。 如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 由于我们已经卸载了最小安装完成后的mysq库所以,就没必要操作了。

进入support-files目录

cd support-files/如果还有my.cnf请备份mv /etc/my.cnf /etc/my.cnf.bak如果愿意也可以复制配置文件到etc下cp my-default.cnf /etc/my.cnf

执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

拷贝mysql安装目录下support-files服务脚本到init.d目录

#拷贝脚本cp support-files/mysql.server /etc/init.d/mysqld#赋予权限chmod +x /etc/init.d/mysqld

设置开机启动

chkconfig mysqld on启动MySQLservice mysqld start或者/etc/init.d/mysql start

MySQL5.6.x启动成功后,root默认没有密码,我们需要设置root密码。 设置之前,我们需要先设置PATH,要不,不能直接调用mysql

修改/etc/profile文件vi /etc/profile在文件末尾添加PATH=/usr/local/mysql/bin:$PATHexport PATH

让配置立即生效

source /etc/profile

登陆测试,默认是没有密码,直接回车就可进入

mysql -uroot -p

设置mysql密码

/usr/local/mysql/bin/mysqladmin -uroot -p password ‘你的密码‘

登陆进命令行模式

mysql -uroot -p

查看用户

select user,host from mysql.user;

删除不必要的用户

drop user ""@localhost;drop user ""@c65mini.localdomain; drop user root@c65mini.localdomain; drop user root@‘::1‘;

赋予账号远程访问的权限

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘127.0.0.1‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION;GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘c65mini.localdomain‘ IDENTIFIED BY ‘你的密码‘ WITH GRANT OPTION;

关于删除MySQL的默认root用户参考:http://blog.chinaunix.net/uid-16844903-id-3377690.html

其它一些信息查询: 检查mysql版本

mysql -uroot -p"密码" -e "select version();"

验证mysql安装路径

ls -ld /usr/local/mysql/
 

编译安装mysql