银河麒麟kylin_V10系统安装mysql8.0
银河麒麟kylin_V10系统安装mysql8.0
在线安装,服务器可以连接外网
查看操作系统内核版本:
[root@GHDB ~]# uname -a
Linux GHDB 4.19.90-23.15.v2101.ky10.aarch64 #1 SMP Wed Sep 1 16:42:05 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
查看glibc版本:
[root@GHDB ~]# ldd --version
ldd (GNU libc) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
官网下载对应版本的mysql
第一种方法:wget直接下载:
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.28-aarch64.tar.gz
2023年8月10补充:最新版8.0.34版本已出,更新下载地址:wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.34-linux-glibc2.28-aarch64.tar.gz
第二种方法:官网下载安装包,再上传到服务器
https://dev.mysql.com/downloads/mysql/
解压到/usr/local目录:
[root@GHDB uufdata]#tar -zxvf mysql-8.0.33-linux-glibc2.28-aarch64.tar.gz -C /usr/local
进入/usr/local目录,并重命名:
[root@GHDB uufdata]#cd /usr/local
[root@GHDB uufdata]# mv mysql-8.0.33-linux-glibc2.28-aarch64 mysql
创建系统mysql组和用户
[root@GHDB local]# groupadd mysql
新建mysql用户并加入到mysql组
[root@GHDB local]# useradd -r -g mysql mysql
进入到mysql路径下
[root@GHDB local]# cd /usr/local/mysql
创建data、log目录
[root@GHDB mysqll]# mkdir data
[root@GHDB mysqll]# mkdir log
把mysql目录所属者和所属组给mysql,授权
[root@GHDB mysqll]#chown -R mysql:mysql /usr/local/mysql
[root@GHDB mysql]# chmod -R 755 /usr/local/mysql
安装libaio依赖包
[root@GHDB mysql]# yum install -y libaio
创建配置文件:
vim /etc/my.cnf
配置文件内容如下:
[mysqld]
port=3306
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/log/mysql-err.log
socket=/usr/local/mysql/data/mysql.sock
pid-file=/usr/local/mysql/data/mysql.pid
user=root
default_authentication_plugin=mysql_native_password
basedir=/usr/local/mysql
lower_case_table_names = 1
sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
innodb_strict_mode=0
innodb_log_file_size = 512M
log_bin_trust_function_creators=1
#skip-grant-tables
# 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,
# 则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求
#skip-networking
back_log = 600
# MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求/.
max_connections = 1000
max_connect_errors = 6000
# 对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接。如需对该主机进行解禁,执行:FLUSH HOST。
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 400M
# 该变量之所以取较小默认值是一种预防措施,以捕获客户端和服务器之间的错误信息包,并确保不会因偶然使用大的信息包而导致内存溢出。
binlog_cache_size = 1M
# 一个事务,在没有提交的时候,产生的日志,记录到Cache中;等到事务提交需要提交的时候,则把日志持久化到磁盘
max_heap_table_size = 8M
# 定义了用户可以创建的内存表(memory table)的大小。这个值用来计算内存表的最大行数值。这个变量支持动态改变
tmp_table_size = 16M
#指定单个查询能够使用的缓冲区大小,默认1M
default-storage-engine = InnoDB
#[mysqldump]
#host=localhost
#user=root
#password=b4%XZCRQp-name-resolve
[client]
#socket=/tmp/mysql.sock
socket=/usr/local/mysql/data/mysql.sock
wq 保存退出
进入bin目录,进行初始化
[root@GHDB mysql]# cd bin
[root@GHDB bin]# ./mysqld --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --initialize
创建软链接(提示软链接已存在,删除软链接,重新创建,未创建过的话,直接创建即可。)
[root@GHDB bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin
ln: failed to create symbolic link '/usr/bin/mysql': File exists
[root@GHDB bin]# unlink /usr/bin/mysql
[root@GHDB bin]# ln -s /usr/local/mysql/bin/mysql /usr/bin
添加到开机自启动
[root@GHDB bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
启动mysql
[root@GHDB mysql]# ./bin/mysqld_safe &
获取初始密码:
[root@GHDB mysql]# tail -1000f log/mysql-err.log
下图得知初始密码为:e66lS:xoj&pT
登录mysql:
[root@GHDB mysql]# mysql -u root -p
e66lS:xoj&pT ,回车
修改root密码:
mysql> alter user 'root'@'localhost' identified by 'root123';
Query OK, 0 rows affected (0.01 sec)
刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
查询用户:
mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
修改允许远程连接:
mysql> update mysql.user set host = '%' where user = 'root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
刷新权限:
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
创建数据库gh_cs
mysql> create database gh_cs;
Query OK, 1 row affected (0.01 sec)
切换到新数据库:
mysql> use gh_cs;
Database changed
设置允许导入函数:
mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected (0.00 sec)
创建普通用户:
mysql> create user 'gh'@'%' identified by 'GH2023!@#';
Query OK, 0 rows affected (0.01 sec)
将新建数据库授权给普通用户:
mysql> grant all privileges on gh_cs.* to 'gh'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)