系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > Mysql > 详细页面

Linux下MySQL 8.0安装配置教程图解

时间:2020-09-29来源:www.pcxitongcheng.com作者:电脑系统城

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();  
分享到:

相关信息

  • MySQL的核心查询语句详解

    一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...

    2023-10-30

  • Mysql中如何删除表重复数据

    Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...

    2023-10-30

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载