MySQL 编译安装

Posted 芹溪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 编译安装相关的知识,希望对你有一定的参考价值。

1 、安装依赖包

yum install ncurses-devel libaio-devel -y
rpm -qa ncurses-devel libaio-devel
yum install cmake –y

2 、添加用户并解压软件

useradd -s /sbin/nologin -M mysql
id mysql
cd /home/dadong/tools/
tar xf mysql-5.6.34.tar.gz
cd mysql-5.6.34

说明MySQL事先下载好,传到/home/dadong/tools/下面并解压。出于安全考虑,需要创建一个组名为mysql的用户组,然后再创建一个属于该用户组的系统用户mysql,该系统用户的作用是用来安装和运行MySQL服务。

3、 cmake编译

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.34 -DMYSQL_DATADIR=/application/mysql-5.6.34/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.34/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0

注意mysql5.5版本开始,源码安装mysql需要使用到 cmake 命令。

4 、编译安装

make && make install && cd ..

注意请提前加大VM虚拟机硬件的内存,这样编译时候会更快,最好设置2GB以上的内存。此过程大约20分钟,请耐心等待。

5 、建立软连接

[[email protected] mysql-5.6.34]# cd /application/
[[email protected] application]# ls
mysql  mysql-5.6.34
[[email protected] application]# ln -s /application/mysql-5.6.34/ /application/mysql

6、 复制启动文件

cp support-files/my*.cnf /etc/my.cnf

注意:复制/application/mysql-5.6.34下面的配置文件到/etc下

/etc/my.cnf 文件配置:

一般情况下,你不需要修改该配置文件,该文件默认配置如下:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
在配置文件中,你可以指定不同的错误日志文件存放的目录,一般你不需要改动这些配置。如将下面的这些内容放入/etc/my.cnf开头,可以登录省略密码
[client]                 #<==客户端模块标签。
user=root                #<==用户参数及密码。
password=dadong123       #<==密码参数及密码。

7 、初始化

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql

数据库安装完毕要进行一些初始化,生成一些默认信息,数据库信息。

初始化后的配置:
    1.更改默认账号和密码:
        mysql初始化后会生成5个空密码的用户:
        3个root账号:
            [email protected]127.0.0.1
            [email protected]
            [email protected]
        2个匿名账号:
            “@localhost
            ”@HOSTNAME
        删除匿名用户,给root用户设置密码。
    2.启用二进制日志和独立表空间
        二进制日志:
            服务启动时指定参数--log_bin=mysql-bin和--binlog_format=MIXED
        独立表空间:
            mysql>set global innodb_file _per_table=1

8 、授权MySQL

chown -R mysql.mysql /application/mysql/
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld

9 、设置密码:

Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码:
[[email protected]]# mysqladmin -u root password dadong123
现在你可以通过以下命令来连接到Mysql服务器:
[[email protected]]# mysql -u root -p
Enter password:*******
注意:在输入密码时,密码是不会显示了,你正确输入即可。

10、 启动MySQL

chkconfig mysqld on
chkconfig --list mysqld
/etc/init.d/mysqld start
netstat -lntup|grep 330

11、 优化启动步骤

echo PATH=/application/mysql/bin/:$PATH >>/etc/profile
tail -1 /etc/profile
source /etc/profile
echo $PATH
mysql

11.1 数据库基本优化---清理用户和无用数据库

清理用户及无用数据库(基本优化)
select user,host from mysql.user;
drop user ‘‘@db02;
drop user ‘‘@localhost;
drop user root@db02;
drop user root@::1;
select user,host from mysql.user;
drop database test;
show databases;
##################

 常见问题:

tail -100 /application/mysql/data/db02.err

故障:ERROR! The server quit without updating PID file
1.权限.chown -R mysql.mysql
2.killall mysqld
3.重新初始化.
4.运行1年了,出问题(非法关机或者关数据库).

 

以上是关于MySQL 编译安装的主要内容,如果未能解决你的问题,请参考以下文章

Notepad++编辑器——Verilog代码片段直接编译

导致资产预编译在heroku部署上失败的代码片段

MYSQL5.6.16版本源代码编译安装

如何有条件地将 C 代码片段编译到我的 Perl 模块?

LAMP环境编译安装

源码编译安装MySQL8.0.20