Linux 上手动编译安装 MySQL8.0

系统:CentOS 7.5  

要安装的MySQL版本:8.0.16


一、先检测系统是否自带了mysql:

rpm -qa | grep mysql


二、如果系统安装了,把原有的进行卸载:

rpm -e mysql  // 普通删除模式

rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除


三、去官网下载 Yum 资源包,下载地址为:https://dev.mysql.com/downloads/repo/yum/

blob.png

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm


三、下载完成后并更新Yum资源库,并进行安装:

rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum update
yum install mysql-server


四、新建mysql组和用户,并给MySQL分配/var/run/mysqld目录权限:

groupadd mysql
useradd -g mysql mysql
chown mysql:mysql /var/run/mysqld


五、初始MySQL:

mysqld --initialize


六、启动MySQL:

systemctl start mysqld


七、查看MySQL运行状态:

systemctl status mysqld

blob.png


八、修改默认密码:

vim /etc/my.cnf

给配置文件添加下面一行
skip-grant-tables


九、重启MySQL

systemctl restart mysql


十、进行MySQL,并进行重置密码操作:

mysql -uroot -p   #到输入密码时直接回车进入即可

在重置密码前务必先刷新权限:
flush privileges;

修改密码,需要有特殊符号和大小写:
alter user 'root'@'localhost' IDENTIFIED BY 'new_pwd';

最后再进行刷新权限:
flush privileges;

退出MySQL:
quit;


十一、重启MySQL并生效。



关于MySQL存储目录的配置:


这里我们比如要将默认的/var/lib/mysql设置为/data/mysql

1:先停止运行中的MySQL。

systemctl stop mysqld


2:新建/data目录

mkdir -p /data


3:移动目录

mv /var/lib/mysql /data/

#注意:/data/mysql文件夹要给予写的权限


4:将/data/mysql/mysql.sock移动备份或者删除掉:

mv /data/mysql/mysql.sock /data/mysql/mysql.sock.bak-1


5:修改配置文件/etc/my.cnf

把下面两行旧的路径注释掉,以备再用:
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock

添加下面两行新的:
datadir=/data/mysql
socket=/data/mysql/mysql.sock

设置数据库默认引擎与编码
default-storage-engine = InnoDB
character-set-server = utf8
init_connect='SET NAMES utf8mb4'
max_allowed_packet = 1024M
max_connections=5024
back_log=600
skip-external-locking
skip-name-resolve


#query_cache_type = 1
#query_cache_size = 128M
#query_cache_limit = 10M
#key_buffer_size = 1024M
#max_allowed_packet = 16M
#table_open_cache = 2048
#sort_buffer_size = 128M
#myisam_sort_buffer_size = 128M
#thread_cache_size = 64
#tmp_table_size = 128M
#max_heap_table_size = 128M
#bulk_insert_buffer_size = 500M 
#slow_query_log = ON
#long_query_time = 1 
#slow-query-log-file = /data/wwwlogs/mysql_slowquery.log

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

再添加上下面的配置
[client]
socket=/data/mysql/mysql.sock


6:启动mysql就生效了:

systemctl start mysqld



版权声明: 此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处:
[狂码一生] https://www.sindsun.com/articles/23/109
[若此文确切存在侵权,请联系本站管理员进行删除!]


--THE END--