1、下载安装包
进入下载网址
MySQL :: Download MySQL Community Server (Archived Versions)
因为Kylinos Server V10 就是基于CentOS 8开发而来,所以选择 Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit), RPM Bundle
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.37-1.el8.x86_64.rpm-bundle.tar
下载后解压
这里解释一下各个安装文件
• mysql-community-serverMySQL 服务端,包含了运行 MySQL 服务所需的文件和程序。
• mysql-community-clientMySQL 客户端,用于连接到 MySQL 服务器
• mysql-community-client-pluginsMySQL 客户端的插件,这些插件提供了额外的功能或特性。
• mysql-community-libs包含 MySQL 客户端和服务器使用的共享库文件。
• mysql-community-icu-data-files包含 MySQL 使用的 ICU(International Components for Unicode)数据文件。
• mysql-community-common包含 MySQL 客户端和服务器共享的一些常用文件和配置。
• mysql-community-libs-compat提供与旧版本 MySQL 库的兼容性支持(MySQL8.0.36已移除该安装包)
2.安装Mysql
安装顺序如下
rpm -ivh mysql-community-common-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.37-1.el8.x86_64.rpm
rpm -ivh mysql-community-server-8.0.37-1.el8.x86_64.rpm
需要先查看是否安装mariadb
# rpm -qa | grep mariadb
3、卸载mariadb
# rpm -e --nodeps mariadb******
修改配置文件
vi /etc/my.cnf
datadir=/data/mysql #数据文件目录
socket=/data/mysql.sock #socket文件路径
pid_file=/data/mysqld.pid #MySQL服务器进程ID文件的路径
port=6612 #端口
log_error=/data/log/mysqld.log #运行日志路径
server_id = 168710 #MySQL实例唯一标识
log_bin = /data/binlog/mysql-binlog #根据安装路径设置存放binlog存放位置
binlog_expire_logs_seconds=2592000 #默认二进制日志过期时间为 2592000 秒,等于 30 天(30*24*60*60 秒)
innodb_redo_log_capacity = 2048M #Redo Log的总容量,8.0.30版本引入
innodb_log_buffer_size = 32M #日志文件的缓冲区的大小
innodb_flush_log_at_trx_commit = 1 #默认设置为1,是完全符合 ACID 标准所必需的。日志在每次事务提交时写入并刷新到磁盘
sync_binlog = 1 #每次事务提交时同步二进制日志
open_files_limit = 65535 #能打开的文件数上限
table_open_cache = 1024 #指定一次InnoDB可以打开的最大文件数
innodb_buffer_pool_size = 12G #内存的80% ,比如系统内存为16G(通过free -g查看),设置为12G
innodb_purge_threads = 8 #控制回滚段(Undo Segment)清理线程的数量.设置为CPU核数(通过lscpu查看),比如8核,就设置为8
innodb_write_io_threads = 8 #控制写入 I/O 操作的线程数,值同上
innodb_read_io_threads = 8 #控制读取 I/O 操作的线程数,值同上
innodb_max_undo_log_size = 1G #undo阈值,默认值1G
lower_case_table_names = 1 #表名不区分大小写
max_allowed_packet = 1G #消息缓冲区大小
character_set_server = utf8mb4 #字符集
transaction_isolation = REPEATABLE-READ #事务隔离级别,可重复读。默认值为 REPEATABLE-READ.
slow_query_log = 0 #慢查询功能(0/OFF:关闭;1/ON:开启)
long_query_time = 2 #超过2秒的sql输出到日志
max_connections = 2000 #最大连接数
log_bin_trust_function_creators=1 #允许任何用户(包括没有 SUPER 特权的用户)创建或修改存储过程、函数创建,根据实际情况设置
sql_mode="NO_ENGINE_SUBSTITUTION" #服务器SQL模式,模式会影响MySQL支持的SQL语法及其执行的数据验证检查。根据实际情况设置
group_concat_max_len=1024000 #GROUP_CONCAT函数允许的最大结果长度(以字节为单位)。默认值为 1024.
skip-name-resolve=OFF #是否在检查客户端连接时解析主机名(OFF/ON),根据实际情况设置
log_timestamps=SYSTEM #日志的显示时间和系统时间保持一致
[client]
socket=/data/mysql.sock #socket文件路径
4、初始化
如果初始化有问题,查看日志重新初始化就行 需要删除原来初始化目录的内容
mysqld -initialize --user=mysql --basedir=你的mysql根目录 --datadir=数据目录
5、启动
systemctl start mysqld #启动 MySQL
systemctl stop mysqld #关闭 MySQL
systemctl restart mysqld #重启 MySQL
systemctl status mysqld #查看 MySQL 状态
systemctl enable mysqld #设置开机自启
6、登录数据库
方法【1】
[》》》]mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
方法【2】
#vim /etc/my.cnf
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
skip-grant-tables
service mysql restart
[》》》]# mysql
先:
mysql> flush privileges;
后:
mysql> alter user 'root'@'localhost' identified by 'Abc@123456';
再退出重试
mysql> quit
查看mysql版本:
mysql --version
删除跳过密码验证
#vim /etc/my.cnf
在[mysqld]删除“skip-grant-tables”
安装过程有啥问题记得看日志修改就行了,记得在配置文件里设置日志路径