CentOS6.5下编译安装MySQL 5.6.22
1、下载MySQL
下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22.tar.gz
2、安装编译源码所需的工具和库
yum -y install gcc gcc-c++ ncurses-devel perl
3、下载、安装cmake(MySQL编译工具)
下载cmake
下载地址:http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz
安装cmake
1 2 3 4 5 |
cd /home tar xzvf cmake-3.0.2.tar.gz cd /home/cmake-3.0.2 ./bootstrap ; make ; make install cd ~ |
4、设置MySQL用户和组
新增mysql用户组
groupadd mysql
新增mysql用户
useradd -r -g mysql mysql
5、新建MySQL所需要的目录
新建mysql安装目录
mkdir -p /usr/local/mysql
新建mysql数据库数据文件目录
mkdir -p /data0/mysql/data
6、编译安装MySQL
1 2 3 |
cd /home tar -zxv -f mysql-5.6.22.tar.gz cd mysql-5.6.22 |
从mysql5.5起,mysql源码安装开始使用cmake了。
设置编译参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ -DMYSQL_DATADIR=/data0/mysql/data \ -DEXTRA_CHARSETS=all \ -DMYSQL_TCP_PORT=3306 |
注:重新运行配置,需要删除CMakeCache.txt文件
rm CMakeCache.txt
编译安装
make && make install
7、修改mysql目录所有者和组
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
8、初始化配置
进入安装路径
cd /usr/local/mysql
初始化mysql数据库
scripts/mysql_install_db –datadir=/data0/mysql/data –user=mysql
9、复制mysql服务启动配置文件
注:如果/etc/my.cnf文件存在,则先删除。
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
10、复制mysql服务启动脚本及加入PATH路径
1 2 3 4 5 6 7 8 9 10 11 12 |
#拷贝服务脚本到init.d目录 cp support-files/mysql.server /etc/init.d/mysqld #编辑/etc/profile文件, vim /etc/profile #在文件末尾添加 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH #关闭文件,运行下面的命令,让配置立即生效 source /etc/profile |
11、启动mysql服务并设置开机启动
1 2 |
service mysqld start chkconfig --level 35 mysqld on |
12、检查mysql服务是否启动
netstat -tulnp | grep 3306
mysql -u root -p
密码为空,如果能登陆上,则安装成功。
13、修改MySQL用户root的密码
mysqladmin -u root password ‘123456’
也可以进入mysql后修改
1 2 3 4 5 6 7 8 9 10 11 12 13 |
mysql -uroot mysql> SET PASSWORD = PASSWORD('123456'); #删除多余用户 mysql> use mysql; mysql> select host,user,password from user; mysql> delete from user where not (user='root') ; mysql> delete from user where user='root' and password=''; #删除测试数据库 mysql> show databases; mysql> drop database test; #设置root可以远程连接 mysql> update user set host='%' where user='root'; mysql>flush privileges; |
至此,大功告成!