yum安装mysql8

到官网https://dev.mysql.com/downloads/repo/yum/下载路径

 rpm -ivh mysql80-community-release-el7-3.noarch.rpm

 yum clean all # 删除缓存数据

 yum makecache # 创建元数据缓存

 yum list mysql-server

 yum -y install mysql-server.x86_64 #下载数据库

备份数据库配置文件:

mv /etc/my.cnf /etc/my.cnf.back

mv /etc/my.cnf.d /etc/my.cnf.d.back

使用yum下载,并创建好文件路径

mkdir -p /apphome/logs/mysql8/run

mkdir -p /apphome/data/mysql8

cd /apphome/logs/mysql8/

chown -R mysql. .

cd /apphome/data/mysql8/

chown -R mysql. .

修改配置文件

vim /etc/my.cnf

[client]

port = 3306

socket = /apphome/logs/mysql8/run/mysql.sock

[mysql]

no-auto-rehash

prompt = "\\u@\\h:\\d \\r:\\m:\\s> "

[mysqld]

server-id = 51

port = 3306

mysqlx_port = 3060

datadir = /apphome/data/mysql8

socket = /apphome/logs/mysql8/run/mysql.sock

mysqlx_socket = /apphome/logs/mysql8/run/mysqlx.sock

pid-file = /apphome/logs/mysql8/run/mysqld.pid

default-authentication-plugin = mysql_native_password

lower_case_table_names = 1

max_connections = 10000

max_connect_errors = 10000

max_user_connections = 1000

##### server log #####

# 服务日志

log-error = /apphome/logs/mysql8/mysqlerror.log

# 启用所有日志

# general-log-file = /apphome/logs/general.log

# 启用慢查询日志

# slow-query-log-file = /apphome/logs/query.log

# 默认时间10秒

# long-query-time = 5

# 记录没有使用索引查询的sql命令

# log-queries-not-using-indexes

gtid-mode = on

enforce-gtid-consistency = on

# log-bin = binlog

sync_binlog = 100

# binlog_format = "mixed"

skip-log-bin ###不开启binlog日志

# # master 只允许同步的库,只不允许同步的库

# binlog_do_db = dbname1,dbname2

# binlog_ignore_db = dbname1,dbname2

# # slave 级联复制,只同步的库,只不同步的库

# log_slave_updates

# replicate_do_db = dbname1,dbname2

# replicate_ignore_db = dbname1,dbname2

default_storage_engine = InnoDB

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 1024M ##数据库内存占用大小关键参数

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_data_file_path=ibdata1:12M;ibdata2:1G:autoextend

bulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 64M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 28800

启动数据库

systemctl start mysqld

使用原始密码登录之后修改密码与规则。 ###Linux8版本的mysql8 下载后直接-uroot进入更改密码就好 不需要前面两步

mysql -uroot -p`cat /apphome/logs/mysql8/mysqld.log | grep pass | awk '{print $NF}'`

> set global validate_password.length=1;

> set global validate_password.policy=0;

> alter user 'root'@'localhost' identified with mysql_native_password BY 'database@123';

> flush privileges;

添加用户与授权:

> create database csdb;

> create user 'csuser'@'192.168.0.151' identified by 'pass@123';

> grant all privileges on csdb.* to 'csuser'@'192.168.0.151';

> flush privileges;

到此,数据库就可以用了

下面分享一个关于selinux的脚本,也没用过,大家看着用把

# SElinux

if [ "`getenforce`" = "Enforcing" ]; then

getsebool -a | grep mysql

command -v semanage || { echo >&2 "[*] semanage命令不存在,将安装该命令..."; yum install -y policycoreutils-python; }

semanage port --list | grep mysql

semanage port -a -t mysqld_port_t -p tcp "3306"

semanage fcontext -a -t mysqld_db_t "/var/lib/mysql8(/.*)?"

semanage fcontext -a -t mysqld_log_t "/var/log/mysql8(/.*)?"

semanage fcontext -a -t mysqld_var_run_t "/var/run/mysqld8(/.*)?"

setsebool -P mysql_connect_any=1

setsebool -P selinuxuser_mysql_connect_enabled=1

restorecon -FRv "/var/run/mysqld8" "/var/log/mysql8"

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值