Linux下MySQL 8.0安装配置

系统 Linux MySQL
本文介绍在Linux系统下对数据库MySQL 8.0得安装配置,快来看看吧!

[[343909]]

1、编译安装MySQL8.0

版本信息

  1. #cat /etc/redhat-release 
  2. CentOS Linux release 7.5.1804 (Core) 

安装依赖包

  1. yum -y install wget cmake gcc gcc-c++ ncurses ncurses-devel libaio-devel openssl openssl-devel 
  2. rpm -qa |grep libaio 
  3. yum install libaio libaio-devel 

下载源码包

 

  1. wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz 

创建用户和建立数据目录并赋予用户目录权限

 

  1. groupadd mysql 
  2. useradd -r -g mysql -s /sbin/nologin mysql 
  3. mkdir -p /usr/local/mysql 
  4. mkdir -p /data/mysql 
  5. chown -R mysql.mysql /usr/local/mysql 
  6. chown -R mysql.mysql /data/mysql 
  7. chmod -R 755 /usr/local/mysql/ 
  8. chmod -R 755 /data/mysql/ 

解压并开始安装

 

  1. tar -zxf mysql-boost-8.0.12.tar.gz 

配置

 

  1. cd mysql-8.0.12 
  2. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 
  3. -DMYSQL_DATADIR=/data/mysql \ 
  4. -DSYSCONFDIR=/etc \ 
  5. -DMYSQL_TCP_PORT=3306 \ 
  6. -DWITH_BOOST=~/mysql-8.0.12/boost \ 
  7. -DDEFAULT_CHARSET=utf8 \ 
  8. -DDEFAULT_COLLATION=utf8_general_ci \ 
  9. -DENABLED_LOCAL_INFILE=ON \ 
  10. -DWITH_INNODB_MEMCACHED=ON \ 
  11. -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 
  12. -DWITH_FEDERATED_STORAGE_ENGINE=1 \ 
  13. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ 
  14. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ 
  15. -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \ 
  16. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 

配置参数说明:

CMAKE_INSTALL_PREFIX :指定基础安装目录

MYSQL_DATADIR :指定数据目录

SYSCONFDIR=/etc :指定配置文件扫描目录

MYSQL_TCP_PORT :指定端口号

WITH_BOOST :指定boost所在目录

DEFAULT_CHARSET :指定默认字符集

DEFAULT_COLLATION :指定默认排序规则

ENABLED_LOCAL_INFILE=ON :是否为load data infile启用local

WITH_INNODB_MEMCACHED=ON :是否生成memcached共享库

编译&安装

 

  1. make && make install 

初始化数据库

 

  1. mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 

建立配置文件

  1. cat > /etc/my.cnf <<EOF 
  2. [client] 
  3. port=3306 
  4. socket=/tmp/mysql.sock 
  5. default-character-set=utf8 
  6. #user=root 
  7. #password=123 
  8. [mysqld] 
  9. server-id=1 
  10. #skip-grant-tables 
  11. port=3306 
  12. user=mysql 
  13. max_connections=200 
  14. socket=/tmp/mysql.sock 
  15. basedir=/usr/local/mysql 
  16. datadir=/data/mysql 
  17. pid-file=/data/mysql/mysql.pid 
  18. init-connect='SET NAMES utf8' 
  19. character-set-server=utf8 
  20. default-storage-engine=INNODB 
  21. log_error=/data/mysql/mysql-error.log 
  22. slow_query_log_file=/data/mysql/mysql-slow.log 
  23. [mysqldump] 
  24. quick 
  25. max_allowed_packet=16M 
  26. EOF 

 

配置环境变量

 

  1. echo "PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile 
  2. source /etc/profile 

配置启动脚本

 

  1. cp ../mysql-8.0.12/support-files/mysql.server /etc/init.d/mysqld 
  2. vim /etc/init.d/mysqld 
  3. chmod +x /etc/init.d/mysqld 
  4. /etc/init.d/mysqld start 

centos7系统自启动脚本

 

  1. cat /usr/lib/systemd/system/mysqld.service 
  2. [Unit] 
  3. Description=mysql server daemon 
  4. Documentation=man:mysql(8) 
  5. Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html 
  6. After=network.target 
  7. After=syslog.target 
  8. [Install] 
  9. WantedBy=multi-user.target 
  10. [Service] 
  11. User=mysql 
  12. Group=mysql 
  13. Type=notify 
  14. TimeoutSec=0 
  15. PermissionsStartOnly=true 
  16. ExecStart=/usr/local/mysql/bin/mysqld $MYSQLD_OPTS 
  17. LimitNOFILE = 10000 
  18. Restart=always 
  19. RestartPreventExitStatus=1 
  20. Environment=MYSQLD_PARENT_PID=1 
  21. PrivateTmp=false 

启动MySQL

 

  1. systemctl start mysqld.service 

修改root密码:使用WITH指定认证方式

 

  1. mysql -uroot 
  2. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'
  3. ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的密码'

查看密码字段和加密方式

 

  1. select host, user, authentication_string, plugin from user

2、yum存储库安装MySQL

 

  1. wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm 
  2. yum localinstall mysql80-community-release-el7-1.noarch.rpm 
  3. yum repolist enabled|grep "mysql.*-community.*" 
  4. yum repolist all|grep mysql 
  5. yum install mysql-community-server 
  6. systemctl enable mysqld 
  7. systemctl start mysqld 
  8. netstat -lntup|grep 3306 

查看随机生成的密码

 

  1. grep 'temporary password' /var/log/mysqld.log
  2. mysql -uroot -p 

修改密码,密码必须要由大小写字母、数字和特性字符组成

 

  1. alter user 'root'@'localhost' identified by 'PJY@123.com';
  2. select version();  

 

责任编辑:庞桂玉 来源: 马哥Linux运维
相关推荐

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-08 11:11:38

LinuxLAMP安装

2021-01-12 09:55:29

LinuxCntlm代理

2011-03-08 10:10:37

Linuxproftpd

2010-05-12 18:05:45

linux下subvesubversionapache配置

2011-03-31 10:31:18

Ubuntu安装MRTG

2009-07-07 11:33:06

JDK1.6

2012-08-17 09:48:55

MongoDB

2011-09-02 14:07:59

2011-04-01 12:22:35

2010-05-18 17:39:28

Subversion配

2011-07-11 14:03:29

linuxmysql

2019-12-09 11:10:24

LinuxDjangoPython

2011-07-02 14:03:12

Linux Qt

2011-02-25 18:11:48

LinuxPureFTPd

2012-11-28 10:37:25

Linux集群安装配置

2011-03-02 08:57:51

2020-11-03 14:50:18

CentOSMySQL 8.0数去库

2010-05-18 18:19:07

Subversion服

2011-08-30 11:00:10

MySQL ProxyLua
点赞
收藏

51CTO技术栈公众号