• 三、Linux下mysql的完整安装


    参考资料:http://www.cnblogs.com/fly1988happy/archive/2011/11/21/2257682.html

                  http://www.cnblogs.com/xiongpq/p/3384681.html

    一、安装cmake(mysql5.5.0之后的版本用cmake安装)

         下载:

    cd /usr/local/src/
    wget http://www.cmake.org/files/v3.3/cmake-3.3.0-rc4.tar.gz

          安装:

    tar -zxvf cmake-3.3.0-rc4.tar.gz
    cd cmake-3.3.0-rc4
    ./configure
    make
    make install

    二、安装mysql-5.5.40

         (1)创建mysql安装目录及数据存放目录

    mkdir /usr/local/mysql
    mkdir /usr/local/mysql/data

         (2)创建mysql用户及用户组

    groupadd mysql
    useradd -r -g mysql mysql

         (3)安装mysql

             因为公司linux服务器上正好有一个mysql-5.5.40版本的数据库,所以我就直接使用了。不过各位需要下载的必须选择版本为5.5.0以上版本

    tar -zxvf mysql-5.5.40.tar.gz
    cd mysql-5.5.40
    cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
    make
    make install

               .cmake中参数说明:

               -DCMAKE_INSTALL_PREFIX=/usr/local/mysql        //安装目录(默认安装路径:/usr/local/mysql)

               -DINSTALL_DATADIR=/usr/local/mysql/data         //数据库存放目录

               -DDEFAULT_CHARSET=utf8                        //使用utf8字符

               -DDEFAULT_COLLATION=utf8_general_ci            //校验字符

               -DEXTRA_CHARSETS=all                            //安装所有扩展字符集

               -DENABLED_LOCAL_INFILE=1                        //允许从本地导入数据

               PS. 注意事项:如果重新编译时,需要清除旧的对象文件和缓存信息

               #make clean

               #find / -name CMakeCache.txt    通过该命令查找到所有的CMakeCache.txt文件,再使用一下命令删除之

               #rm -f ..../CMakeCache.txt

               #rm -rf /etc/my.cnf

         (4)  配置(重点

    #设置目录权限
    cd /usr/local/mysql chown -R root:mysql . chown -R mysql:mysql data

    #将mysql的启动服务添加到系统服务中
    cp support-files/my-medium.cnf /etc/mysql.cnf

    #增加mysql数据库的使用者
    scripts/mysql_install_db --user=mysql

    #设置环境变量
    vi /root/.bash_profile
    #在环境变量PATH=$PATH:$HOME/bin后边追加参数,追加后如下:
    #PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
    #让配置立即生效
    source /root/.bash_profile

          (5)启动mysql

              1)手动启动(推荐)

    cd /usr/local/mysql
    #启动MySQL,这里启动后不会自动停止退出命令,但我们可以按Enter键退出
    ./bin/mysqld_safe --user=mysql &
    #这就算启动了,这是我们可以在命令行输入mysql试试
    mysql #如果进入数据库则成功
    #关闭MySQL服务
    mysqladmin -u root -p shutdown #这里需要输入MySQL的root用户密码,因为还没有设置,所以直接回车即可

                 PS:错误提示1,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
                    解决:这是没有启动MySQL服务,所以必须启动服务后才能进入MySQL中

              2)将mysql增加到系统服务中

    cd /usr/local/mysql 
    #将mysql的启动服务增加到系统服务中去 cp support-files/mysql.server /etc/init.d/mysql
    chkconfig mysql on

                 PS:主要是将mysql.server拷贝到/etc/init.d中,命名为mysql。在有的系统中,mysql.server在/usr /local/mysql/share/mysql/mysql.server中,而本系统中,mysql.server在/usr/local /mysql/support-files/mysql.server中

    #启动服务
    service mysql start

                  这时你就会看到“Starting MySQL.. SUCCESS!”的字样,说明mysql已经启动了。
         

          (6)配置用户

              MySQL启动成功后,root默认没有密码,我们需要设置root密码。

              设置之前,我们需要先设置PATH,使其直接调用mysql

    vi /etc/profile
    #按shift+g键跳到文件最后,在末尾添加
    PATH=/usr/local/mysql/bin:$PATH
    export PATH
    
    #:wq退出,让配置立即生效
    source /etc/profile

               现在进入mysql环境

    #使用root用户登陆
    mysql -uroot   
    #给root用户设置密码
    mysql>SET PASSWORD = PASSWORD('123456');

               若要设置root用户可以远程访问,执行

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
    ##红色password为远程访问时,root用户的密码,可以和本地不同。

          (7)防火墙配置

              防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

    vi /etc/sysconfig/iptables
    #找到“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”这行,然后在下面添加一行:-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT,:wq保存退出
    
    #重启,刷新防火墙配置
    service iptables restart

              至此,一切配置完毕。

              我们可以进入mysql了,只不过这是需要输入密码了,命令如下:

    mysql -uroot -p
    #然后输入密码即刻进入
  • 相关阅读:
    打印出1-10000之间的所有对称数(如121,1331,2442)
    代码块
    javascript判断数据类型
    块和内嵌
    xhtml+css基础知识2
    xhtml+css基础知识1
    清除浮动
    margin注意问题
    javascirpt 闭包
    css3 box-sizing属性
  • 原文地址:https://www.cnblogs.com/yxpblog/p/4653732.html
Copyright © 2020-2023  润新知