linux 源码 mysql_Linux下源码安装 MySQL

本文详细指导如何在MySQL 5.5及以上版本中使用CMake进行源码安装,包括CMake的配置、cmake环境变量设置、MySQL的编译与安装、数据目录管理、服务设置及权限调整,最后演示了root用户密码设置和远程连接权限的授予。
摘要由CSDN通过智能技术生成

从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

95587121bcf202b5d070abaf6084636a.png

如果看到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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值