linux arm下安装mysql

linux arm下安装mysql

2.1 获取mysql安装包

从https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.23-1.el7.aarch64.rpm-bundle.tar下载安装包,放到/opt/rpm目录下,使用tar -xvf解压

2.2 使用rpm安装mysql

yum install -y perl-JSON
yum install -y perl-Test-Simple
rpm -e mariadb-libs --nodeps
rpm -ivh mysql-community-common-8.0.23-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-plugins-8.0.23-1.el7.aarch64.rpm
rpm -ivh mysql-community-libs-8.0.23-1.el7.aarch64.rpm
rpm -ivh mysql-community-client-8.0.23-1.el7.aarch64.rpm
rpm -ivh mysql-community-server-8.0.23-1.el7.aarch64.rpm

2.3 配置mysql

2.3.1 关闭selinux
  1. 临时关闭
setenforce 0
  1. 永久关闭

编辑/etc/sysconfig/selinux

vim /etc/sysconfig/selinux
  1. 然后将配置SELinux=enforcing改为SELinux=disabled,如下图所示。
SELINUX=disabled
2.3.2 配置mysql
  1. 创建mysql的数据目录,并把此目前权限赋给mysql用户及用户组
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
  1. 配置/etc/my.cnf,注意把innodb_buffer_pool_size设置成机器内存的70%左右
[client]
port = 3306
host = localhost
socket                                                  =/data/mysql/mysql.sock

[mysqld]
# Base Config
#server_id								= 882137661
datadir							=/data/mysql
socket							=/data/mysql/mysql.sock
port							= 3306
character_set_server					= utf8
skip_slave_start					= 1
skip-name-resolve					= 1
skip-external-locking					= 1
lower_case_table_names					= 1
max_connections						= 1000
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' 

# InnoDB config
#innodb_strict_mode						= 1
#innodb_file_per_table					= 1
#innodb_stats_on_metadata				= 0
#innodb_flush_method						= O_DIRECT
#innodb_log_files_in_group				= 3
#innodb_data_file_path					= ibdata1:1G:autoextend
innodb_buffer_pool_size					= 20G
#innodb_max_dirty_pages_pct				= 60
#innodb_io_capacity						= 400
#innodb_buffer_pool_instances			= 8
#innodb_buffer_pool_load_at_startup		= 1
#innodb_buffer_pool_dump_at_shutdown		= 1
#innodb_undo_logs 						= 128
#innodb_undo_tablespaces					= 3
#innodb_thread_concurrency				= 4
innodb_open_files = 65536
innodb_io_capacity =400
innodb_doublewrite = OFF
innodb_flush_method=O_DIRECT

# Cache config
key_buffer_size							= 2048M
tmp_table_size							= 512M
max_heap_table_size						= 256M
thread_cache_size						= 64
table_open_cache						= 128
open_files_limit						= 65535
max_allowed_packet						= 256M



#####################用户进程分配到的内存设置BEGIN#############################

##每个session将会分配参数设置的内存大小
#用于表的顺序扫描,读出的数据暂存于read_buffer_size中,当buff满时或读完,将数据返回上层调用者
#一般在128kb ~ 256kb,用于MyISAM
read_buffer_size = 256M
#用于表的随机读取,当按照一个非索引字段排序读取时会用到,
#一般在128kb ~ 256kb,用于MyISAM
read_rnd_buffer_size = 512M
#order by或group by时用到

#建议先调整为2M,后期观察调整
join_buffer_size	= 2048M
sort_buffer_size = 1024M

#一般数据库中没什么大的事务,设成1~2M,默认32kb
#binlog_cache_size = 524288

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Log config
#relay-log								= mysql-relay
#log-bin									= mysql-bin
#slow_query_log							= 1
#long_query_time							= 2
log_slow_admin_statements				= 1
log_slow_slave_statements				= 1


lock_wait_timeout                                       = 1800

  1. 启动mysql,并设置成开机自启动
systemctl start mysqld
systemctl enable mysqld
2.3.3 修改root的密码
  1. /etc/mysql.cnf[mysqld]后面添加skip-grant-table

  2. 重启mysql服务systemctl restart mysqld

  3. 进入数据库

    mysql -u root -p
    

    直接敲回车

    输入一下代码

    use mysql;
    -- 解决在`skip-grant-table`下不能修改密码的问题
    update user set authentication_string='' where user='root';
    -- 刷新权限
    flush privileges;
    -- 设置验证密码规则为简单模式
    set GLOBAL  validate_password.policy=LOW;
    -- 设置密码长度为6位
    set global validate_password.length=6;
    -- 设置root可以让任何ip访问
    update user set user.Host='%' where user.User='root';
    -- 设置密码永不过期
    ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    -- 设置密码为123456
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
    -- 刷新权限
    flush privileges;
    -- 退出
    quit;
    
  4. /etc/mysql.cnf[mysqld]后面删除skip-grant-table

  5. 重启mysql服务systemctl restart mysqld

  6. 可以使用mysql -u root -p -h <mysql服务器的ip>命令,然后数据密码是否能够登陆。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值