侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 743 篇文章
  • 累计创建 64 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录

LAMP(3)之编译安装mysql5.5

zze
zze
2020-01-08 / 0 评论 / 0 点赞 / 737 阅读 / 4503 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

知识储备

1、MariaDB 源码不支持直接使用 make 进行,需要安装 cmake 编译工具,`cmake指定编译选项的方式不同于make,其实现方式对比如下:

./configure          ->     cmake .
./configure --help   ->     cmake . -LH or ccmake .

2、指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  # 指定安装目录
-DMYSQL_DATADIR=/data/mysql              # 指定数据目录
-DSYSCONFDIR=/etc                        # 指定配置文件目录

3、默认编译的存储引擎包括:csv、myisam、myisammrg 和 heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

4、若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
# 比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

5、如若要编译进其它功能,如 SSL 等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

6、其它常用的选项:

-DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOCAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1

7、如果想清理此前的编译所生成的文件,则需要使用如下命令:

make clean  ->  rm CMakeCache.txt

开始安装

下面以编译安装 MariaDB 5.5 为例。

1、下载:

$ wget https://mirrors.tuna.tsinghua.edu.cn/mariadb/mariadb-5.5.67/source/mariadb-5.5.67.tar.gz

2、MariaDB 源码不支持直接使用 make 进行,需要安装 cmake 编译工具和开发环境:

$ yum install cmake ncurses-devel openssl-devel libevent-devel jemalloc-devel -y
$ yum groupinstall "Development Tools" "Server Platform Development"

3、创建组和用户以及 MySQL 的数据目录并授权:

$ mkdir /mydata/data -p
$ groupadd -r mysql && useradd -g mysql -r -d /mydata/data mysql
$ chown -R mysql.mysql /mydata/

4、解压:

$ tar xf mariadb-5.5.67.tar.gz

5、进入源码目录,开始编译:

$ cd mariadb-5.5.67
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-5.5.67 -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

6、安装并创建软链接:

$ make && make install 
$ cd /usr/local && ln -s mariadb-5.5.67 mysql

7、配置环境变量并编辑配置文件:

$ echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh && . /etc/profile.d/mysql.sh
$ vim /etc/my.cnf
[mysqld]
datadir=/mydata/data
socket=/tmp/mysql.sock
user=mysql
symbolic-links=0

[mysqld_safe]
log-error=/mydata/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

8、初始化数据:

$ /usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/mydata/data

9、拷贝 Service 文件:

$ cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
$ chmod +x /etc/rc.d/init.d/mysqld

10、启动:

$ service mysqld start
Starting MariaDB.200503 20:26:53 mysqld_safe Logging to '/mydata/mysqld.log'.
200503 20:26:53 mysqld_safe Starting mysqld daemon with databases from /mydata/data
. SUCCESS! 

11、安全初始化:

$ mysql_secure_installation

我这里设置密码为 123

12、测试连接:

$ mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.67-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
0

评论区