CentOS8 安装mysql8

CentOS8 安装mysql8 免安装版
下载地址
CentOS8 安装mysql8_第1张图片
里面有三个包,安装的是
在这里插入图片描述
再次解压这个文件后移动到 /usr/local 重命名为 mysql
cd /usr/local/mysql
mkdir data

配置文件 vim /etc/my.cnf :

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=1000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=100
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
#Metadata Lock最大时长(秒), 一般用于控制 alter操作的最大时长sine mysql5.6
#执行 DML操作时除了增加innodb事务锁外还增加Metadata Lock,其他alter(DDL)session将阻塞
lock_wait_timeout = 3600
#内部内存临时表的最大值。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 64M
max_heap_table_size = 64M
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

初始化: 在mysql/bin目录下执行 ./mysqld --defaults-file=/etc/my.cnf --initialize --console
记住初始密码
在这里插入图片描述
启动mysql:
cd /usr/local/mysql/support-files
./mysqld_safe start
开始报错了,因为我没有创建mysql用户组,直接用root启动的,mysql的安全模式不让用root直接启动mysql
错误信息:

2023-05-10T08:06:02.099578Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2023-05-10T08:06:02.399715Z mysqld_safe mysqld from pid file /usr/local/mysql/data/VM-20-6-centos.pid ended

让它允许用户启动:在support-files文件,我这个版本的在266行,不同版本行数可能有区别,找start命令对应的启动参数加上 --user=root
CentOS8 安装mysql8_第2张图片
启动成功,mysql -uroot -p 报错

libraries: libncurses.so.5: cannot open shared object file: No such file or directory

没有这个版本的libncurses.so但是看了下有6.1,软连接一下 :ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libncurses.so.5
继续登录有一个类似的错

mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory

同样的看见了有6.1版本,再连接一下: ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5

登录成功,修改初始密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

刷新权限让刚才的修改生效:flush privileges;

配置mysql的环境变量

添加软连接,加入到服务

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

CentOS8 安装mysql8_第3张图片

你可能感兴趣的:(mysql,数据库)