又动手安装了一次mysql,版本是5.5.45,5.5以上版本需要安装cmake!
安装流程:
0.先检查是否有自带的mariadb,有则卸载
1.安装所需软件;2.安装CMAKE;3.tar.gz形式安装mysql;4.配置与启动;
0.首先centos7 已经不支持mysql,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。(妈蛋,之前不知道,我安装了一整天才知道有这个坑,fu*k)
rpm -qa|grep mariadb
看到有 mariadb-5.5.44。。。。。和mariadb-libs-。。。2个文件,删之。
rpm -e mariadb-libs-5.5.44-1.el7_1.x86_64
出现错误,此时要强制删除,带--nodeps 参数
rpm -e --nodeps mariadb-libs-5.5.44-1.el7_1.x86_64
rpm -e --nodeps mariadb-5.5.44-1.el7_1.x86_64
强制删除了,就木有了,可以安心安装了。
rpm -qa|grep mariadb
1.安装mysql依赖服务
Centos 下 mysql安装依赖服务:
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
Ubuntu下mysql安装依赖服务
apt-get install gcc g++ cmake make libncurses5-dev bison zip
或者直接安装 apt-get install mysql-server mysql-client php5-mysql 即可
2. Centos下安装cmake
wget http://www.cmake.org/files/v3.4/cmake-3.4.0.tar.gz
tar -zxvf cmake-3.4.0.tar.gz && cd cmake-3.4.0
./configure
之后运行
Gmake && make install
Ubuntu下 make && make install
解压和 运行 ./configure后,出现“Now run gmake”
于是gmake
安装目录
输入cmake命令,看到有回应了。
cmake安装好了!
3.下载和安装mysql-5.5.45
先清理下环境:(防止此前有相关文件)
rm-rf /etc/my.cnf
userdelmysqlgroupdelmysql
再添加mysql的用户组
groupaddmysql #[添加mysql组]
useradd -g mysql mysql #[在mysql组下添加mysql用户]
好,开始下载mysql5.5.45
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.45.tar.gz
tar -zxvf mysql-5.5.45.tar.gz && cd mysq-5.5.45.tar.gz
进入mysql目录,使用cmake编译
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \-DWITH_MYISAM_STORAGE_ENGINE=1\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_MEMORY_STORAGE_ENGIME=1\-DWITH_READLINE=1\-DENABLED_LOCAL_INFILE=1\-DMYSQL_DATADIR=/var/mysql/data \-DMYSQL_USER=mysql
看到这个画面,就说明编译OK了。
接着
make && make install
改变mysql目录拥有组和所有组chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
进入mysql/lib目录,看到 有libmysqlclient.so.18 和libmysqlclient.so.20
4.设置配置文件
接着复制配置文件:
ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20 #软连接
cd support-files #里面有多个my-*.cnf,large,huge,small,medium,不同的配置适用于不同的机器
cp my-large.cnf /etc/my.cnf
cpmysql-server /etc/init.d/mysqld
修改配置文件:
vim /etc/my.cnf
在[mysqld]下面添加
basedir= /usr/local/mysqldatadir= /usr/local/mysql/datalog-error = /usr/local/mysql/mysql_error.logpid-file = /usr/local/mysql/data/mysql.piddefault-storage-engine=MyISAM
user= mysql
接着完成mysql初始化
/usr/local/mysql/scripts/mysql_install_db \--basedir=/usr/local/mysql\--datadir=/var/mysql/data \--user=mysql
将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld
vim /etc/init.d/mysqld
修改路径
basedir=/usr/local/mysql
datadir=/var/mysql/data
chkconfig --add mysqld
chkconfig --level 345 mysqld on
Ubuntu 10后没有chkconfig命令,可以使用
update-rc.d -f mysqld defaults 命令
为MySQL配置环境变量
export PATH=/usr/local/mysql/bin:$PATH
启动mysql
service mysqld start
设置密码
/usr/local/mysql/scripts/mysql_secure_installation
注意,只有my.cnf 里面的datadir为/usr/local/mysql/data,其他均为/var/mysql/data !
在bin/mysql --help 里面可以看到,mysql会读取以下几个地址的my.cnfDefault options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
终于搞定!