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
  • 相关阅读:
    素数路径Prime Path POJ3126 素数,BFS
    Fliptile POJ3279 DFS
    Find the Multiple POJ1426
    洗牌Shuffle'm Up POJ3087 模拟
    棋盘问题 POJ1321 DFS
    抓住那只牛!Catch That Cow POJ3278 BFS
    Dungeon Master POJ2251 三维BFS
    Splitting into digits CodeForce#1104A
    Ubuntu下手动安装Nvidia显卡驱动
    最大连续子序列和
  • 原文地址:https://www.cnblogs.com/L-Test/p/10469449.html
Copyright © 2011-2022 走看看