MySQL/mariadb知识点——安装篇(3)编译安装
源码编译安装
1、获取源码
# wget https://downloads.mariadb.org/interstitial/mariadb-10.2.15/source/mariadb-10.2.15.tar.gz/from/http%3A//sfo1.mirrors.digitalocean.com/mariadb/
2、准备基础环境
[root@centos7 ~]# yum -y install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake libevent-devel gnutls-devel libaio-devel openssl-devel ncurses-devel libxml2-devel
3、创建组和用户
[root@centos7 ~]# groupadd -r -g 27 mysql [root@centos7 ~]# useradd -r -u 27 -g 27 -m -d /data/mysqldb -s /sbin/nologin mysql
4、编译安装
[root@centos7 ~]# tar xf mariadb-10.2.15.tar.gz [root@centos7 ~]# cd mariadb-10.2.15 [root@centos7 mariadb-10.2.15]# cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysqldb/ \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITHOUT_MROONGA_STORAGE_ENGINE=1 \ -DWITH_DEBUG=0 \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci [root@centos7 mariadb-10.2.15]# make -j4 && make install
5、配置环境变量、修改软件安装目录权限
[root@centos7 ~]# echo "export PATH=/usr/local/mysql/bin:\$PATH" >/etc/profile.d/mysql.sh [root@centos7 ~]# . /etc/profile.d/mysql.sh [root@centos7 ~]# setfacl -R -m u:mysql:rwx /usr/local/mysql/
6、初始化数据库、提供配置文件、提供服务启动脚本
[root@centos7 ~]# cd /usr/local/mysql/ [root@centos7 mysql]# scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql --basedir=/usr/local/mysql/ [root@centos7 mysql]# cp support-files/my-huge.cnf /etc/my.cnf [root@centos7 mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@centos7 mysql]# chkconfig --add mysqld
7、启动并测试
[root@centos7 mysql]#systemctl start mysqld [root@centos7 mysql]#mysql #连接成功说明实验成功!
8、关于
关于Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的问题
找不到mysql socket的问题,我最近碰到了好多次
重装系统以前,我的mysql,apache,php都是自己编译安装的,当时并没有碰到这些问题,
重装系统以后,我的mysql是通过yum安装的,apache1.37和php5.2是自己编译安装的,出现了这个问题
首先是mysqld启动不了,
我通过
vim /etc/my.cnf, 修改了[mysqld]选项下面的socket的值 socket=/var/lib/mysql/mysql.sock
ok,mysqld可以启动了
接下来,是mysql启动不了,同样,vim /etc/my.cnf,添加了如下脚本:
[mysql] socket=/var/lib/mysql/mysql.sock
然后,mysqladmin启动不了,还是一样,在[mysqladmin]下面socket值设置为同样的路径
ok,可以启动了