对于linux的软件安装,常见有三种方式:rpm安装、源码安装、二进制包安装。可以参考 Linux二进制包\源代码包\rpm包区别。源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程序,所以从源代码安装的时间会比较长。二进制包里面包括了已经经过编译,可以马上运行的程序。你只需要下载和解包(安装)它们以后,就马上可以使用。其中源码安装从MySQL5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。

1.安装依赖库和cmake

CMake是一个比make更高级的跨平台的安装(编译)工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。

yum -y install gcc-c++ ncurses-devel

wget --no-check-certificate https://cmake.org/files/v2.8/cmake-2.8.12.tar.gz

tar zxvf cmake-2.8.12.tar.gz

cd cmake-2.8.12

./configure

gmake&&gmake install

2.添加用户并编译安装mysql

useradd mysql -s /sbin/nologin -M

cd && wget --no-check-certificate https://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.61.tar.gz

tar xf mysql-5.5.61.tar.gz

cd mysql-5.5.61

cmake . --DCMAKE_INSTALL_PREFIX=/usr/local/mysql --DMYSQL_DATADIR=/usr/local/mysql/data --DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock --DDEFAULT_CHARSET=utf8 --DDEFAULT_COLLATION=utf8_general_ci --DENABLED_LOCAL_INFILE=ON --DWITH_INNOBASE_STORAGE_ENGINE=1 --DWITH_FEDERATED_STORAGE_ENGINE=1 --DWITH_BLACKHOLE_STORAGE_ENGINE=1 --DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 --DWITH_FAST_MUTEXES=1 --DWITH_ZLIB=bundled --DENABLED_LOCAL_INFILE=1 --DWITH_READLINE=1 --DWITH_EMBEDDED_SERVER=1 --DWITH_DEBUG=0 .

make&&make install

编译参数多而复杂,如果是正式生成环境安装MySQL,需要认真选择这些参数,可以参考官方编译参数帮助文档

3.目录授权、配置为系统服务、设开机启动、修改环境变量

chown -R mysql.mysql /usr/local/mysql/

/bin/cp support-files/my-large.cnf /etc/my.cnf

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

echo 'export PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile

source /etc/profile

4.初始化、设置表名大小写不敏感

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

vim /etc/my.cnf

#在[mysqld]下加入如下内容(默认为0,即表名大小写敏感):

lower_case_table_names=1

5.修改root密码、设置允许远程登陆

此时mysql启动后,输入mysql命令后无需密码敲回车就可以登陆的。

service mysqld start

mysql -u root -p

use mysql;

update user set password=password('123456') where user='root';

update user set host='%' where user='root' && host='127.0.0.1';

flush privileges;

quit

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐