CentOS7(Linux)安装MySQL5.7流程

     最近自己买了台阿里云服务器用来学习,在安装mysql的时候遇到很多坑,后来参考下边这位老哥的步骤,成功完成安装。感觉挺详细靠谱,推荐给大家以供学习。

安装必要的组件
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel

 

下载mysql (建议大家直接切换至/usr/local/目录进行下载)

wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz


将压缩包拷贝到/usr/local 使用ftp工具
cd /usr/local/
tar zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz 解压
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql 重命名

 

进入安装文件夹下的support-files 

cd /usr/local/mysql/support-files/
cp my-default.cnf /etc/my.cnf 将mysql配置文件拷贝到etc下,提示文件已经存在输入yes


vi /etc/my.cnf 编辑配置文件(也可用我下方提供的my.cnf文件)
添加
character-set-client-handshake = FALSE 添加在[mysqld]下方即可
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4


复制mysql.server 到/etc/init.d/  目录下【目的想实现开机自动执行效果】
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

 

vi /etc/init.d/mysql
修改如下内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

 

创建Linux新用户
groupadd mysql #建立一个mysql的组
useradd -r -g mysql mysql #建立mysql用户,并且把用户放到mysql组
passwd mysql (mysql123) #给mysql用户设置一个密码
chown -R mysql:mysql /usr/local/mysql/ 给目录/usr/local/mysql 更改拥有者


初始化 mysql 的数据库
进入mysql的bin
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记录生成的密码(参考下图选中部分)

若未生成密码,请参考如下链接:https://blog.csdn.net/saife/article/details/51133317

给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
启动mysql(为了不让进程卡主,可在启动mysql的命令后加上&代表此进程在后台运行)
./mysqld_safe --user=mysql &

执行此命令若报如下错误,请参考如下解决方案:

mkdir logs  #创建logs文件夹

touch error.log  #创建日志文件

chown -R mysql:mysql /usr/local/mysql/   #修改logs文件权限为mysql

./mysqld_safe --user=mysql &    #重新启动mysql服务


查看进程
ps -ef|grep mysql

 

保证在bin目录下
cd /usr/local/mysql/bin/
./mysql -uroot -p (输入临时密码)


修改密码
set password=password('/* 新密码 */'); 


授权远程访问
grant all privileges on *.* to root@'%' identified by '/* 新密码 */';

注:红色部分表示mysql的root账户


use mysql;  // 进入数据库
select host,user from user; 【多出1条远程登录用户记录】

 

执行刷新 

mysql>flush privileges; 

 

在Linux命令行中将3306端口打开例外
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
firewall-cmd --zone=public --add-port=3306/tcp --permanent 重启后不失效
firewall-cmd --reload


设置开机自启动
添加服务mysql
chkconfig --add mysql


设置mysql服务为自动
chkconfig mysql on


重启查看进程
ps -ef|grep mysql

将mysql添加到环境变量
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/mysql/bin
export PATH
执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。

附录:my.cnf文件配置

[client]
#客户端设置
port    = 3306
socket    = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4

[mysqld]
user    = mysql
port    = 3306
socket    = /usr/local/mysql/data/mysql.sock
server-id = 1
pid-file = /usr/local/mysql/data/mysql.pid
#安装目录
basedir    = /usr/local/mysql
#数据库存放目录
datadir    = /usr/local/mysql/data/
#系统数据库编码设置,排序规则
character_set_server = utf8mb4
collation_server = utf8mb4_bin
back_log = 1024
explicit_defaults_for_timestamp = ON
lower_case_table_names = 0
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections = 512
max_connect_errors = 1000000
table_open_cache = 1024
max_allowed_packet = 8M
thread_stack = 256K
thread_cache_size = 384

skip-external-locking

interactive_timeout = 600
wait_timeout = 3600
log_timestamps = SYSTEM
log-error = /usr/local/mysql/logs/error.log

#默认使用InnoDB存储引擎
default_storage_engine = InnoDB
innodb_buffer_pool_size = 64M
innodb_purge_threads = 1
innodb_log_buffer_size = 2M
innodb_log_file_size = 128M
innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 32M
myisam_sort_buffer_size = 8M
# MySQL重建索引时所允许的最大临时文件的大小
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
lower_case_table_names=1

[mysqldump]
quick
max_allowed_packet = 16M

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M

大家切记,修改my.cnf文件之后需要重启mysql才能生效,切记切记、血泪教训!!!

参考资料:CentOS7中安装MySQL5.7

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值