MySQL 8.0.11 GA版二进制安装

MySQL 8.0.11已发布,听闻性能提升两倍,今个自己安装体验下。
1、卸载mysql老版本
rpm -qa|grep mysql或者mairadb
rpm -e mysql*/mariadb*
rpm -e --nodeps mysql*/mariadb*


2、安装依赖包
yum install gcc gcc-c++ libaio 

3、下载软件包并解压
tar -zxf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz -C /opt/mysql

4、创建软连接
 cd /usr/local/
 ln -sv /opt/mysql/mysql-8.0.11-linux-glibc2.12-x86_64 mysql

5、创建用户和组
groupadd -g 301 mysql
 useradd -g 301 -r -s /bin/nologin -u 301 mysql

6、相关目录结构和权限
 chown -R mysql:mysql /usr/local/mysql
 mkdir -p /data
 mkdir -p /data/mysql/data
 mkdir -p /data/mysql/log/binlogs
 mkdir -p /data/mysql/log/slowlogs
 mkdir -p /data/mysql/log/relaylogs
 mkdir -p /data/mysql/undo
 mkdir -p /data/mysql/redologs
 mkdir -p /data/mysql/tmp
 chown -R mysql:mysql/data/mysql

7、配制my.cnf文件

[mysqld]
port=3306
datadir=/data
log-error=/data/mysql/log/mysql-err.log
user=mysql

[client]
socket=/data/mysql/mysql.socket

8、环境变量配置
  echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
  source /etc/profile

9、初始化数据库

两种方式
 bin/mysqld --initialize --user=mysql
 bin/mysqld  --initialize-insecure --user=mysql

我这里采用非认证加密方式  
# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/data

10、启停服务

# /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/etc/my.cnf &
# /usr/local/mysql/bin/mysqladmin shutdown

11、制作启动脚本

复制启动脚本到/etc/init.d目录下
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

修改脚本文件中
# vim /etc/init.d/mysqld
46 basedir=/usr/local/mysql --mysql的安装路径
47 datadir=/data --mysql的数据目录

赋予该文件执行权限

chmod 755 /etc/init.d/mysqld
启动服务
/etc/init.d/mysqld start 

Starting MySQL....                                         [  OK  ]

备注:

对于Mysql 5.7.6以后的5.7系列版本,Mysql使用mysqld --initialize或mysqld --initialize-insecure命令来初始化数据库,后者可以不生成随机密码。
但是安装Mysql时默认使用的是前一个命令,这个命令也会生成一个随机密码。改密码保存在了Mysql的日志文件中。

在Centos 7系统上使用rpm命令安装Mysql后,mysql的配置文件是/etc/my.cnf,打开该文件,可以看到mysql的datadir和log文件等的配置信息,如下:

datadir=/var/lib/mysql
log-error=/var/log/mysqld.log

打开/var/log/mysqld.log文件,搜索字符串A temporary password is generated for root@localhost:,可以找到这个随机密码,通常这一行日志在log文件的最初几行,比较容易看到。

[root@localhost ~]# cat /data/mysql/log/mysql-err.log | grep password
2018-06-09T13:07:48.538150Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: b.2;xthNHu?5


使用找到的随机密码登录mysql,首次登录后,mysql要比必须修改默认密码,否则不能执行任何其他数据库操作,这样体现了不断增强的Mysql安全性。

12、进入数据库
#/usr/local/mysql/bin/mysql -p

修改密码

alter user 'root'@'localhost' identified by '123456';

13、查看数据库版本
(root@localhost:)[(none)]> \s

Connection id: 9
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 8.0.11 MySQL Community Server - GPL
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /tmp/mysql.sock
Uptime: 25 min 13 sec

Threads: 2 Questions: 13 Slow queries: 0 Opens: 110 Flush tables: 2 Open tables: 86 Queries per second avg: 0.008
--------------

posted @ 2018-06-09 18:36  菠菜007  阅读(1013)  评论(0编辑  收藏  举报