2 Star 1 Fork 0

zhrun8899 / learning-notes

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
cenos7安装mysql5.7.md 5.28 KB
一键复制 编辑 原始数据 按行查看 历史

两种方法,压缩包与Yum安装

一.yum安装

rpm -qa|grep mariadb wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

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

检查mysql源是否安装成功 shell> yum repolist enabled | grep "mysql.-community." 可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示: yum install mysql-community-server systemctl start mysqld systemctl enable mysqld shell> systemctl daemon-reload grep 'temporary password' /var/log/mysqld.log mysql -uroot -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

二.tar.gz包安装

rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 [root@hdp265dnsnfs ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 ##删除etc目录下的my.cnf文件

[root@hdp265dnsnfs ~]# rm /etc/my.cnf rm: cannot remove ?etc/my.cnf? No such file or directory

##检查mysql是否存在 [root@hdp265dnsnfs ~]# rpm -qa | grep mysql [root@hdp265dnsnfs ~]# cat /etc/group | grep mysql [root@hdp265dnsnfs ~]# cat /etc/passwd | grep mysql ##创建mysql用户组 [root@hdp265dnsnfs ~]# groupadd mysql ##创建一个用户名为mysql的用户并加入mysql用户组 [root@hdp265dnsnfs ~]# useradd -g mysql mysql ##制定password 为111111 passwd mysql ##解压 [root@hdp265dnsnfs ~]# passwd mysql [root@hdp265dnsnfs var]# tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz [root@hdp265dnsnfs var]# mv mysql-5.7.18-linux-glibc2.5-x86_64/ mysql ##更改所属的组和用户 [root@hdp265dnsnfs var]# chown -R mysql:mysql mysql/ [root@hdp265dnsnfs var]# chgrp -R mysql mysql/ [root@hdp265dnsnfs var]# cd mysql

在etc下新建配置文件my.cnf,并在该文件内添加以下配置

[mysql]
#default-character-set=utf8
port=3306
[mysqld]
skip-name-resolve
###设置3306端口
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/usr/local/mysql/data/mysqld.pid
max_connections=500
character-set-server=utf8
lower_case_table_names=1
table_open_cache = 2048
max_allowed_packet = 16M
max_heap_table_size = 64M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 24M
join_buffer_size = 8M
thread_cache_size = 8
query_cache_size = 0
query_cache_type = 0
ft_min_word_len = 4
slow_query_log
\# bin-log config
server-id=100
log-bin=mysql-bin
binlog_format=MIXED
expire_logs_days=7
binlog_cache_size = 1M
log-bin-trust-function-creators=1
binlog_format=mixed
binlog-do-db = mpos
binlog-ignore-db=mysql
#innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2G
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 8M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
innodb_log_file_size=256M
default-storage-engine = INNODB
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 64M
long_query_time = 100
###myisam configuration
key_buffer_size = 32M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1

报警的处理:

[Warning] Changed limits: max_open_files: 1024 (requested 5000) [Warning] Changed limits: max_connections: 214 (requested 500) [Warning] Changed limits: table_open_cache: 400 (requested 2048)

察看系统配置:

ulimit -a

可以看到该用户的最大打开文件数为1024个,而我启动的mysql服务需要打开15000个,所以出现了上述的警告。出现了这个警告后,mysql服务是正常可用的,只是性能没有达到最优。下面我们着手解决这个问题。

vi /etc/security/limits.conf

增加: mysql hard nofile 65535

source /etc/security/limits.conf

#安装和初始化 [root@hdp265dnsnfs mysql57]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

以上这句过时了,应该使用:

bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

系统服务

[root@hdp265dnsnfs mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld [root@hdp265dnsnfs mysql57]# chmod +x /etc/init.d/mysqld

##开机启动 [root@hdp265dnsnfs mysql57]# /etc/init.d/mysqld restart Shutting down MySQL.. SUCCESS! Starting MySQL. SUCCESS!

#设置开机启动

[root@hdp265dnsnfs mysql57]# chkconfig --level 35 mysqld on [root@hdp265dnsnfs mysql57]# chkconfig --list mysqld

[root@hdp265dnsnfs mysql57]# chmod +x /etc/rc.d/init.d/mysqld [root@hdp265dnsnfs mysql57]# chkconfig --add mysqld [root@hdp265dnsnfs mysql57]# chkconfig --list mysqld [root@hdp265dnsnfs mysql57]# service mysqld status SUCCESS! MySQL running (4475) #加路径 vi etc/profile/

export PATH=$PATH:/usr/local/mysql/bin

[root@hdp265dnsnfs mysql57]# source /etc/profile #获取初始密码 [root@hdp265dnsnfs bin]# cat /root/.mysql_secret
##改密码 [root@hdp265dnsnfs bin]# mysql -uroot -p set PASSWORD = PASSWORD('111111'); ##远程访问 ... update user set host='%' where user='root'; ... ##重新启动 /bin/systemctl restart mysql.service ##为了在任何目录下可以登录mysql ln -s /var/mysql/bin/mysql /usr/bin/mysql

1
https://gitee.com/zhrun8899/learning-notes.git
git@gitee.com:zhrun8899/learning-notes.git
zhrun8899
learning-notes
learning-notes
master

搜索帮助