今天在ubuntu和CentOS下,用源码反复安装了许多次mysql,趁还没忘记,赶紧记下来。。。
在ubuntu和CentOS下安装过程倒是没什么差别。
0.下载源码,传到服务器上
1.准备cmake和libncurse
ubuntu 下用 apt-get install cmake 和apt-get install libncurse安装
CentOS下用yum -y install ncurses-devel 和yum -y install cmake安装。某些版本要用yum -y install cmake28.x86_64
2.创建mysql用户
groupadd mysql
useradd mysql -g mysql -s /sbin/nologin
3.创建安装目录并授权
mkdir -p /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql
4.解压并安装
tar zxvf mysql-5.5.47.tar.gz
cd mysql-5.5.47
mkdir build #建立一个build文件让源码和编译生成的文件分开,查文件更方便。
cd build
cmake28 .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #使用的套接字路径
-DDEFAULT_CHARSET=utf8 \ #指定服务器默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #指定服务器默认校对规则
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ #安装需要的字符集
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \ #指定是否允许本地执行LOAD DATA INFILE
-DMYSQL_DATADIR=/usr/local/mysql/data/ \ #数据存放位置
-DMYSQL_TCP_PORT=3306 #默认端口
make && make install
5.将mysql的配置文件添加到/etc/下
cp support-files/my-small.cnf /etc/my.cnf #mysql配置文件
chmod 755 scripts/mysql_install_db #执行权限
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ #初始化
cp support-files/mysql.server /etc/init.d/mysqld #启动程序
chmod 755 /etc/init.d/mysqld #执行权限
6.启动服务
service mysqld start
7.添加密码
/usr/local/mysql/bin/mysqladmin -u root password 'passwd'