Linux平台安装mysql(源码编译)5.5.59

MySQL 2045℃

对于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

转载请注明:零五宝典 » Linux平台安装mysql(源码编译)5.5.59