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 、建立软连接

[root@DB02 mysql-5.6.34]# cd /application/
[root@DB02 application]# ls
mysql  mysql-5.6.34
[root@DB02 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账号:
            root@127.0.0.1
            root@localhost
            root@HOSTNAME
        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用户的密码:
[root@host]# mysqladmin -u root password 'dadong123'
现在你可以通过以下命令来连接到Mysql服务器:
[root@host]# 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年了,出问题(非法关机或者关数据库).
原文地址:https://www.cnblogs.com/dadonggg/p/8625415.html