命令记不住

登陆

MySQL 5.6 版本 3 种安装步骤

MySQL 5.6版本3种安装步骤

Mysql版本选择:

  • 选择GA版本6-12月产品(GA稳定版)
  • MYSQL常用版本5.6.34 5.6.36 5.6.38 5.7.18 5.7.20

1.yum快速安装5.6

1)检查系统中是否已安装 MySQL。

rpm -qa | grep mysql

2)查看已安装的 Mariadb 数据库版本。

rpm -qa|grep -i mariadb

3)卸载已安装的 Mariadb 数据库。

rpm -qa|grep mariadb|xargs rpm -e --nodeps

4)再次查看已安装的 Mariadb 数据库版本,确认是否卸载完成。

rpm -qa|grep -i mariadb

5)下载安装包文件。

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

6)安装mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装完成之后,会在 /etc/yum.repos.d/ 目录下新增 mysql-community.repo 、mysql-community-source.repo 两个 yum 源文件。
执行 yum repolist all | grep mysql 命令查看可用的 mysql 安装文件。

[root@GPub ~]# yum repolist all | grep mysql
mysql-connectors-community/x86_64 MySQL Connectors Community   enabled:      108
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64      MySQL Tools Community        enabled:       90
mysql-tools-community-source      MySQL Tools Community - Sour disabled
mysql55-community/x86_64          MySQL 5.5 Community Server   disabled
mysql55-community-source          MySQL 5.5 Community Server - disabled
mysql56-community/x86_64          MySQL 5.6 Community Server   enabled:      463
mysql56-community-source          MySQL 5.6 Community Server - disabled
mysql57-community-dmr/x86_64      MySQL 5.7 Community Server D disabled
mysql57-community-dmr-source      MySQL 5.7 Community Server D disabled

7)安装mysql。

yum install mysql-server

8)设置密码 。

mysql5.6 安装完成后,它的 root 用户的密码默认是空的,我们需要及时用 mysql 的 root 用户登录(第一次直接回车,不用输入密码),并修改密码。

# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("这里输入root用户密码") where User='root';
mysql> flush privileges;

9)设置远程主机登录

mysql> GRANT ALL PRIVILEGES ON *.* TO 'your username'@'%' IDENTIFIED BY 'your password';
执行以下命令,为root 用户添加远程登录的能力。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";

2.源码编译Mysql-5.6.38

1.安装依赖

[root@CentOS7 ~]# yum install -y ncurses-devel libaio-devel
[root@CentOS7 ~]# yum install cmake -y
[root@CentOS7 ~]# useradd -s /sbin/nologin -M mysql

2.编译安装

[root@mysql01 ~]#cd /server/tools/
[root@mysql01 tools]#tar xf mysql-5.6.38.tar.gz

[root@mysql01 mysql-5.6.38]#cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.38 \
> -DMYSQL_DATADIR=/application/mysql-5.6.38/data \
> -DMYSQL_UNIX_ADDR=/application/mysql-5.6.38/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
-- Running cmake version 2.8.12.2
……
-- Build files have been written to: /server/tools/mysql-5.6.38
[root@mysql01 ~]#make && make install
[root@mysql01 mysql-5.6.38]#ls
bin  COPYING  data  docs  include  lib  man  mysql-test  README  scripts  share  sql-bench  support-files
[root@mysql01 mysql-5.6.38]#ln -s /application/mysql-5.6.38/ /application/mysql
[root@mysql01 ~]#rm -fr /etc/my.cnf*

3.初始化系统数据:

[root@mysql01 scripts]#./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
[root@mysql01 scripts]# mkdir /application/mysql/tmp
[root@mysql01 scripts]# chown -R mysql:mysql /application/mysql/

4.启动数据库:

[root@mysql01 bin]#vim /etc/profile
export PATH=/application/mysql/bin:$PATH

[root@mysql01 bin]#source /etc/profile
[root@mysql01 mysql]#cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql01 mysql]#chmod 700 /etc/init.d/mysqld
[root@mysql01 mysql]#/etc/init.d/mysqld status
 SUCCESS! MySQL running (21680)
[root@mysql01 mysql]#/etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS! 

5.设置数据库密码:

[root@mysql01 mysql]#mysqladmin -uroot password 123
[root@mysql01 mysql]#mysql -uroot -p123
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.38 Source distribution

6.清理用户及无用数据库(基本优化)

1.删除没有用户和没有密码
1.mysql> select user .host,password from mysql.user;
+-----------+-------------------------------------------+
| host      | password                                  |
+-----------+-------------------------------------------+
| localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| mysql01   |                                           |
| 127.0.0.1 |                                           |
| ::1       |                                           |
| localhost |                                           |
| mysql01   |                                           |
+-----------+-------------------------------------------+
6 rows in set (0.00 sec)
2.mysql>  drop user ''@'mysql01';
  mysql>  drop user ''@'localhost';
  mysql>  drop user 'root'@'mysql01';
  mysql> drop user 'root'@'::1';
  
3.mysql>  select user ,host,password from mysql.user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)
2.删除测试库
1.mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

2.mysql> drop database test;
Query OK, 0 rows affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

7.如何安装关键开发包

1.yum groupinstall xxxx

3.初始化配置

1.为什么要进行初始化配置

通过初始化配置,将MySQL启动和运行必须的一些信息告知于它
2.初始化配置方法

  • (1) CMAKE 时可以实现初始化配置,一般建议修改不会经常变化的数据。
  • (2) 初始化配置文件/etc/my.cnf *****用的最多的方法
  • (3) 命令行可以直接指定 mysql_safe

疑问一:
三种方法优先级谁更高?

> 命令行   >  配置文件  > 编译安装的

疑问二:
1.为什么他会读取/etc/my.cnf

[root@db01 mysql]# mysqld --help --verbose|grep my.cnf

2.初始化配置文件读取顺序

/etc/my.cnf    ----- >   /etc/my.cnf.d/my.cnf
/etc/mysql/my.cnf  ----->
/app/mysql/etc/my.cnf ---->
~/.my.cnf

重点:

/etc/my.cnf 

mysqld-safe --defaults-file=/opt/my.cnf
#参数设定位置为默认my.cnf

初始化配置文件影响范围

1.mysql-server的启动和正常运行

mysqld 
mysqld_safe 
/etc/init.d/mysqld 
systemd
实例:
[root@db01 ~] mysql_safe --socket=/tmp/mysql.sock  --port=8806 &

2.影响到客户端,登录和独有的操作

mysql 
mysqldump  

3.初始化数据时

initialize-insecure
推荐阅读