温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux下MySQL 8.0如何安装配置

发布时间:2021-10-27 10:15:39 来源:亿速云 阅读:262 作者:小新 栏目:系统运维

这篇文章给大家分享的是有关Linux下MySQL 8.0如何安装配置的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、编译安装MySQL8.0

版本信息

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

安装依赖包

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

下载源码包

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

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

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/

解压并开始安装

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

配置

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

配置参数说明:

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

初始化数据库

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

建立配置文件

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

配置环境变量

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

配置启动脚本

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

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

启动MySQL

systemctl start mysqld.service

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

mysql -uroot ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的密码';

查看密码字段和加密方式

select host, user, authentication_string, plugin from user;

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

查看随机生成的密码

grep 'temporary password' /var/log/mysqld.logmysql -uroot -p

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

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

感谢各位的阅读!关于“Linux下MySQL 8.0如何安装配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI