Linux下MySQL 8.0安装配置

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

[[343909]]

1、编译安装MySQL8.0

版本信息

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

安装依赖包

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

下载源码包

 

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

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

 

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

解压并开始安装

 

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

配置

 

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

配置参数说明:

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共享库

编译&安装

 

make && make install 
  • 1.

初始化数据库

 

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

建立配置文件

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

 

配置环境变量

 

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

配置启动脚本

 

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

centos7系统自启动脚本

 

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

启动MySQL

 

systemctl start mysqld.service 
  • 1.

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

 

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

查看密码字段和加密方式

 

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

2、yum存储库安装MySQL

 

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

查看随机生成的密码

 

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

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

 

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

 

责任编辑:庞桂玉 来源: 马哥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

2010-05-18 17:39:28

Subversion配

2011-04-01 12:22:35

2019-12-09 11:10:24

LinuxDjangoPython

2011-07-02 14:03:12

Linux Qt

2011-07-11 14:03:29

linuxmysql

2011-03-02 08:57:51

2020-11-03 14:50:18

CentOSMySQL 8.0数去库

2010-05-25 11:24:30

SVN安装配置

2012-10-11 14:59:31

CentosFastDFS

2017-01-05 22:28:16

WindowsNano Server部署

2011-02-23 09:55:33

Centos安装vsftpd
点赞
收藏

51CTO技术栈公众号