最痛苦的一次mysql安装经历

安装前最好把环境跑下

yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng* libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libX* libtiff libtiff* make mpfr ncurses* ntp openssl nasm nasm* openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* wget zlib-devel

检查是否安装已安装
yum list installed | grep mysql   
卸载已安装
yum -y remove mysql-libs.x86_64    
下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
4.安装mysql源

yum localinstall mysql57-community-release-el7-8.noarch.rpm

验证源安装是否成功
yum repolist enabled | grep "mysql.*-community.*"

vim /etc/yum.repos.d/mysql-community.repo
打开后如下,想要安装特定版本enabled=1,其他enabled=0即可,会显示5.5. 5.6. 5.7三个版本,默认是5.7版本。
安装mysql
yum install mysql-community-server 

启动

systemctl start mysqld

此处开始踩坑

第一步root自动生成的密码查看

一般情况下在一下几个文件中。

1./var/log/mysqld.log
2./usr/local/mysql/data/  .err文件
3./root/.mysql_secret

然后就是更改data目录问题

vi /etc/my.cnf

修改了data目录和socket目录但是总是提示

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock

后面查找相关资料,发现用rpm安装的话,mysql客户端sock默认是去读取/var/lib/mysql/mysql.sock

另外这个[client]配置最好放最下面,我就掉坑里了提示这个原因就是放它前面了

修改密码时注意5.7密码是authentication_string这个字段

update mysql.user set authentication_string = password('新密码') where user='用户名' and Host = 'localhost';

SET PASSWORD = PASSWORD('Li721Zhong!'); 
mysql> flush privileges;

再就是修改data目录时

cp -r /var/lib/mysql/. /home/mysql/data

全部拷贝过去,最好再做个备份

mv /var/lib/mysql var/lib/mysql.bak

 

 

 

修改mysql配置文件中data目录后一直报错和警告修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启或等待下次重启

/etc/selinux/config

 

 

 

启动没有问题后,就可以考虑数据库迁移了,最简单的迁移办法就是将需要迁移的数据库的data复制过来替换新安装的data这样省时省力,如果已有的部分数据库需要迁移哪就只能导入了,不完全不复制过来innodb日志会跟innodb表对不上导致各种奇怪的警告和错误。

 

scp -r root@192.168.90.111:/home/data/mysql/data/ /home/data

 

 

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
#character-set-server=utf8
[mysql]
#default-character-set=utf8mb4
#character-set-server=utf8
[mysqld]
character_set_server=utf8
innodb_buffer_pool_size = 50G
max_connections=2024
max_connect_errors=1000
#default-character-set=utf8
#skip-grant-tables
#
#character-set-client-handshake = FALSE 
#character-set-server = utf8mb4 
#collation-server = utf8mb4_unicode_ci 
#init_connect='SET NAMES utf8mb4'
#default-character-set = utf8mb4
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/home/mysql/data
socket=/home/mysql/data/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/home/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
#default-character-set=utf8
#default-character-set = utf8mb4
socket=/home/mysql/data/mysql.sock

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值