从mysql-5.5起,mysql源码安装开始使用cmake了,因此我们得先安装cmake,配置安装目录./configure --perfix=/.....的时候和以前的会有些区别。
一、安装cmake
将cmake-2.8.7.tar.gz包上传至/Software目录下,然后进行如下操作:
1 [root@Jerry Software]# tar –zxvf cmake-2.8.7.tar.gz2 [root@Jerry Software]# mv cmake-2.8.7 /usr/local3 [root@Jerry Software]# cd /usr/local/cmake-2.8.7
4 [root@Jerry cmake-2.8.7]#./configure –prefix=/usr/local/cmake5 [root@Jerry cmake-2.8.7]#make
6 [root@Jerry cmake-2.8.7]#make install
配置cmake环境变量:
(1)修改/etc/profile文件,在文件内加入以下内容:
#cmake
PATH=/usr/local/cmake/bin:$PATH
export PATH
(2)执行命令source /etc/profile使cmake环境变量生效
二、安装MySQL
创建mysql的安装目录及数据库存放目录
1 [root@Jerry ~]#mkdir -p /usr/local/mysql //mysql安装目录
2 [root@Jerry ~]#mkdir -p /usr/local/mysql/data //数据库存储目录
创建mysql用户及用户组
1 [root@Jerry ~]#groupadd mysql2 [root@Jerry ~]#useradd -r -g mysql mysql
安装MySQL
先将mysql-5.6.25.tar.gz包上传至/Software目录下,然后进行如下操作:
1 [root@Jerry Software]# tar –zxvf mysql-5.6.25.tar.gz2 [root@Jerry Software]# mv mysql-5.6.25 /usr/local3 [root@Jerry Software]# cd /usr/local/mysql-5.6.25
4 [root@Jerry mysql-5.6.25]# cmake . //cmake后有个“.”
5 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql6 -DINSTALL_DATADIR=/usr/local/mysql/data7 -DDEFAULT_CHARSET=utf88 -DDEFAULT_COLLATION=utf8_general_ci9 -DEXTRA_CHARSETS=all10 -DENABLED_LOCAL_INFILE=1
11
12 [root@Jerry mysql-5.6.25]#make
13 [root@Jerry mysql-5.6.25]#make install
14
15 参数说明:16 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //指定安装目录
17 -DINSTALL_DATADIR=/usr/local/mysql/data //指定数据库存放目录
18 -DDEFAULT_CHARSET=utf8 //使用utf8字符
19 -DDEFAULT_COLLATION=utf8_general_ci //校验字符
20 -DEXTRA_CHARSETS=all //安装所有扩展字符集
21 -DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
注意事项:
编译报错通常是因为缺少依赖的包造成的,把缺少的包安装上再重新进行编译。重新编译时,需要清除旧的对象文件和缓存信息。
1 # makeclean2 # rm -f CMakeCache.txt3 # rm -rf /etc/my.cnf
三、配置MySQL
设置目录权限
1 [root@ Jerry ~]# cd /usr/local/mysql2 //把mysql目录中所有文件的所有者所有者设为root,所属组为mysql
3 [root@Jerry mysql]# chown -R root:mysql .4 //把data目录中所有文件的所有者所有者设为mysql,所属组为mysql
5 [root@Jerry mysql]# chown -R mysql:mysql data
将mysql的启动服务添加到系统服务中
1 [root@Jerry mysql]# cp support-files/my-default.cnf /etc/my.cnf
创建系统数据库的表
1 [root@Jerry mysql]# cd /usr/local/mysql2 [root@Jerry mysql]# scripts/mysql_install_db --user=mysql
设置环境变量
1 [root@ Jerry ~]# vi /root/.bash_profile2 在PATH=$PATH:$HOME/bin添加参数为:3 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib4 [root@ Jerry ~]#source /root/.bash_profile
四、启动MySQL
手动启动
1 [root@ Jerry ~]#cd /usr/local/mysql2 //启动MySQL,但不能停止
3 [root@ Jerry mysql]#./bin/mysqld_safe --user=mysql &
4 启动日志写在此文件下:/usr/local/mysql/data/localhost.err5 [root@ Jerry mysql]# mysqladmin -u root -p shutdown //关闭MySQL服务6 //这里MySQL的root用户还没有配置密码,所以为空值。输入密码时,直接点回车键即可。
将mysql的启动服务添加到系统服务
1 [root@Jerry mysql]#cp support-files/mysql.server /etc/init.d/mysql2 //注意:这里是将mysql.server拷贝到/etc/init.d目录下,命名为mysql。在有的系统中,mysql.server在/usr/local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local/mysql/support-files/mysql.server中。
使用服务命令启动
1 [root@Jerry ~]# service mysql start //启动
2 [root@Jerry ~]# service mysql stop //停止
3 [root@Jerry ~]# service mysql restart //重启
设置开机自动启动MySQL
1 //将服务文件拷贝到init.d下,并重命名为mysql
2 cp support-files/mysql.server /etc/init.d/mysql //这一步上面已经操作3
4 //赋予可执行权限
5 chmod +x /etc/init.d/mysql6
7 //添加服务
8 chkconfig --add mysql9
10 //显示服务列表
11 chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入:
1 chkconfig --level 345 mysql on
重启服务器
1 reboot
验证
1 ps -ef|grep mysql
五、登录MySQL
此时,root用户暂未创建密码,可以使用如下命令登录MySQL:
1 mysql -u root -p
通常第一次会报错:-bash: mysql: command not found。这是因为系统默认会查找/usr/bin下的命令,如果mysql这个命令不在这个目录下,就会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件,如下:
1 ln -s /usr/local/mysql/bin/mysql /usr/bin
再次执行登录命令,输入密码直接回车即可登录MySQL
六、为Root用户创建登录密码和远程连接权限
创建密码
1 //设置mysql root用户登录密码,‘xxxxxx’中的密码为设置的密码
2 mysql>update user set Password = password('123456') where User='root';
远程连接
1 //为root添加远程连接的权限
2 mysql>grant all Privileges on *.* to root@"%" identified by "123456";3 mysql>flush privileges;4 mysql>exit;
如果还是不能远程连接,则关闭服务器防火墙,如下:
1 service iptables stop