zoukankan      html  css  js  c++  java
  • Linux下源码安装 MySQL

    从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.gz
    2 [root@Jerry Software]# mv cmake-2.8.7 /usr/local
    3 [root@Jerry Software]# cd /usr/local/cmake-2.8.7
    4 [root@Jerry cmake-2.8.7]#./configure –prefix=/usr/local/cmake
    5 [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 mysql
    2 [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.gz
     2 [root@Jerry Software]# mv mysql-5.6.25  /usr/local
     3 [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/mysql
     6 -DINSTALL_DATADIR=/usr/local/mysql/data
     7 -DDEFAULT_CHARSET=utf8
     8 -DDEFAULT_COLLATION=utf8_general_ci
     9 -DEXTRA_CHARSETS=all
    10 -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 # make clean
    2 # rm -f CMakeCache.txt
    3 # rm -rf /etc/my.cnf

    三、配置MySQL

    设置目录权限

    1 [root@ Jerry ~]# cd /usr/local/mysql
    2 //把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/mysql
    2 [root@Jerry mysql]# scripts/mysql_install_db --user=mysql

    设置环境变量

    1 [root@ Jerry ~]# vi /root/.bash_profile
    2 在PATH=$PATH:$HOME/bin添加参数为:
    3 PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
    4 [root@ Jerry ~]#source /root/.bash_profile

    四、启动MySQL

    手动启动

    1 [root@ Jerry ~]#cd /usr/local/mysql
    2 //启动MySQL,但不能停止
    3 [root@ Jerry mysql]#./bin/mysqld_safe --user=mysql & 
    4 启动日志写在此文件下:/usr/local/mysql/data/localhost.err 
    5 [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/mysql
    2 //注意:这里是将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/mysql
     6 
     7 //添加服务
     8 chkconfig --add mysql
     9 
    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
  • 相关阅读:
    vim 命令替换重复命令
    Python环境安装
    MySQL 查看show profile
    XSS攻击与CSRF攻击与防御
    HTTPS的原理
    PHP curl的请求步骤
    【论文阅读】HRNet
    【学习笔记】gRPC-python
    【Linux学习笔记】Linux基础
    【Golang学习笔记】入门:结构体、方法与接口
  • 原文地址:https://www.cnblogs.com/L-Test/p/10469449.html
Copyright © 2011-2022 走看看